nine-liner sudoku solver