sudoku solving algorithm (1)