Sudoku solver and generator