Dynamic Recursive Puzzle Solver