Programming, Sudoku, Python3, Backtracking, Search.
empty spots and each time we choose to fill in the spot that with the least number of candidates. To compute the candidates, we can use a set union and set difference A-(row_state[i]|col_state[j]|block_state[i//3][j//3]). We set the time cost for this is O(9), and each time the time cost to pick