Row-by-Row Puzzle Solving