including sudoku class to store sudoku board, two solver and a timer
to solve a sudoku puzzle with dfs algorithm using minimal code
It's good enough if the puzzle has the only solution, but it sucks sometimes especially when a puzzle has multiple solutions or it is unsolvable.
combine dfs and inference that human use
Inference eliminates unnecessary guess so that it can solve a sudoku puzzle in 1ms or determine if the input case is unsolvable.