Harb's sudoku solver