solve puzzle