Sudoku – Use Lotus Notes To Solve The Puzzle

Sudoku is a logic-based number placement puzzle. The objective is to fill a 9×9 grid so that each column, each row, and each of the nine 3×3 boxes (also called blocks or regions) contains the digits from 1 to 9, only one time each (that is, exclusively). The puzzle setter provides a partially completed grid.

Completed Sudoku puzzles are a type of Latin square, with an additional constraint on the contents of individual regions. Leonhard Euler is sometimes incorrectly cited as the source of the puzzle, based on his work with Latin squares.

The modern puzzle was invented by an American architect, Howard Garns, in 1979 and published by Dell Magazines under the name “Number Place”. It became popular in Japan in 1986, after it was published by Nikoli and given the name Sudoku, meaning single number. It became an international hit in 2005.

There are numerous Sudoku solvers available, but no such solver or helper does work in my preferred tool: Lotus Notes.

Rudi Knegt showed his solution during the Closing session of this years Entwicklercamp. It works great, uses @Formula (loads of redundant code ), does need a lot of fields and the UI is ( sorry Rudi ) … ugly.

I started my first attempt to write a Sudoku solver/helper almost a year ago, but due to a heavy workload I never finished the project. During my last holiday under the Caribbean sun I decided to finish a first version until the end of this week.
Here is what the UI looks like

Sudoku Helper

I used Notes 8.0.1 to create the database; the download contains the database as .ns6 file with ODS43. It will run from Notes 6 up as I use @ThisName and @ThisValue in some fields.

Create a new Sudoku from the menue and fill in the given fields. On top of every field you can see a line containing the possible values for a field. Now you can start to solve the puzzle by clicking into the squares and select a possible value from a dialogbox.

You can ( and should ) save the document frequently as there is no undo function yet.