When my wife first introduced this famous game to me I immediatly was impressed and tried to find out the logic behind the game.
After a bulk of solved Sudokus I tried to develope a Jave routine which is able to do the work. My consideration was that the program should make the same decisions as a human. The solution was quite easy.
The Jave routine implements two steps. Step one is to remove all values from the possible values of a cell that are not allowed because they are alread used in another cell of the cell group. If there is a cell with only one remaining possible value, it is the cells value.
Step two is to remove all possible values from a cell that are also possible in another cell of the cell group. If there remains only one possible value in a cell, it is the cells value. Repeat both steps until the