I wrote a Sudoku game generator based on what I know from playing Sudoku.
it is on ActiveState.com http://goo.gl/FbDQ0
I think it’s possible that some games may have more than one solution. I don’t feel like working with it more, but one way to prevent multiple solutions is have the computer play the game a few times and throw out those that do have more than one solution. I would have to randomize the order in which play options are done. It takes me awhile to solve one by hand, so I haven’t tested it too much, but it’s good so far.