Sudoku solver using backtracking and naked single removal