Solve puzzle