I'm trying to make a Sudoku puzzle generator. It's a lot harder than I expected and the more I get into it, the harder it gets!
My current approach is to split the problem into 2 steps:
- Generate a complete (solved) Sudoku puzzle.
- Remove numbers until it's solveable and has only 1 solution.
In step 1, since I'm using a brute force methods, I'm facing some run time issues. Is there an optimal way of filling in a complete Sudoku puzzle?
In step 2, what kind of algorithm should I use to "puzzlize" a solved sudoku?