C++ Puzzle Solver Project