Smart sudoku solver