A Sudoku generator and solver