sudoku solver for Udacity CS258 lesson3 problem set