I used exactly this strategy to generate a database with all the Problems that can be written in Sudoku 4x4.
Starting with the 288 solutions, I created a program that used a binary mask to automatically empty some of its cells, then with a verifier program I made sure it was a well-posed problem.
Until I got the 13.579.680 possible puzzles.