SErate like program

Sudoku Explainer is the program used as referee in the pattern games that one can find here.


This program has some bugs, but the main problem for players is the runtime consumed in rating.


An attempt is made to create a new program


Giving the same results

Much faster

(With new options that could help players)


A specific thread here has been open in august 2010 to work on that topic.



Being personally involved in that field, both as player and as owner of another solver written in C++, I started a practical approach of the problem.


The findings will be shared here, giving the opportunity to anybody to be part of the final product.


Warning : the code shown here remains property of G.Penet but can be freely used by anybody for a non commercial use.


The design of all parts which are not reproducing the SE rating has been done in the way I feel it should be for my own use.


This is open to discussion for a common product, but anyway, it is very easy for any player to customize that part of the program.


A zip file containing the code  is available on my website.

I voluntarily limit the code included in the zip file to the part for which a comment is ready.


Delivery is now available with a draft version of the code including basic chains



That file will be updated for minor changes in the debugging phase.

Later on, new versions including complex chains, will come.




The mains chapters in that description are (or will be)



· Main options and description of the command line parameters

· General layout of the program

· Input and Output

· Options storing and management

· Indexing and bit fields

· Storing a puzzle and permanent data

· Cell and table of cells

· all necessary code to check uniqueness

· Jdk class controlling the search of a solution

· “Main” subroutines

· Solving main function in jdk

· alignment, locked sets, Fishes

·  XY XYZ wings

· UR/UL 1    UR/UL 2    UR/UL  3

· BUGs

· Tagging basis

· Class CB1024 PATH ZGS



· Class TZLN 1 TZLN 2

· Class TDB 1    TDB 2

· Class TZCF

· Class TCHOIX

· .JDK functions to process tagging basics level