Python sudoku puzzle generator and solver