Recently I've been coding a sudoku game that teaches people different solving techniques. I've been concentrating on that aspect of my game, and unfortunately my puzzle generator isn't very good. I was wondering if anyone could suggest solving techniques I could program into my game so that it creates much better puzzles. If anyone was interested, here is my process for creating sudokus:

1. Generates a completed sudoku grid.

2. Does the following 50 times:

Removes the cell with the most candidates and which belongs to the most populated groups if and only if

-The puzzle has one unique solution after the cell is removed

The puzzle checks the following solving techniques to test for a solution and uniqueness

-Hidden and Naked Singles

-Segment Ones and Twos

-Naked pairs, triples, and quads

Difficulty is based on a score, which is determined by which method are used to solve each cell

Sorry if this was not posted in the correct forum.