Sudoku solver for Project Euler 96