Solve a difficult problem