to solve (a problem or puzzle)