Sudoku Puzzle Generator and Solver