Sudoku generator/solver/analyzer written in Java (English and German). Lots of human style techniques (singles, subsets, LCs, fish, wings, uniqueness, coloring, chains, ALS), powerful analyzer (manage multiple solutions for one sudoku). Includes Learning and training modes and a booklet printer.


  • Completely scalable, self explanatory user interface
  • Create random puzzles in five configurable difficulty levels
  • Supports over 70 human style solving techniques
  • Fully configurable using dozens of options
  • Powerful booklet printer / extended print options
  • User manual and solving techniques guide available on the home page

Project Samples

Project Activity

See All Activity >


Puzzle Games

Follow Sudoku for Java - HoDoKu

Sudoku for Java - HoDoKu Web Site

Other Useful Business Software

Communicate & Connect with Ring Central's VoIP Solution Communicate & Connect with Ring Central's VoIP Solution Icon
Communicate & Connect with Ring Central's VoIP Solution Icon

Cloud Powered Business Phone System

  • Unrivaled value & reliability in one solution
  • Unlimited Calls/SMS/Conferencing/Fax
  • Trusted by 350,000+ Businesses

Rate This Project

Login To Rate This Project

User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5

User Reviews

  • This algorithm can replace the techniques included in the fish strategies from the following chapters. Below are presented the few examples from the next 5 chapters. The other examples can be solve in the same way. For each candidate-digit will be determined the cells in which the candidate can take values. In this way we’ll obtain nine 9x9 matrix m1, m2, …m9 with n1, n2, ….n9 candidates with k1, k2, ….k9 lines, columns, blocks. The next step consist in calculus of numbers of possible cases N_i=C_(n_i)^(k_i ), i=1:9. For each case will be verify the accomplishing of bases conditions. If these conditions are not accomplished, from the unsolved cells, the candidate or candidates of those presence can introduce errors will be eliminated. Basic Fish JellyFish m7 – n7 = 29, k7=8 r2c2, r7c8, r8c8, r9c9, r7c9, r8c9 ><7 m9 - n9 =17 , k9= r2c2, r7c2, r1c9 ><9 Finned/Sashimi Fish 2.1 Finned/Sashimi Swordfish m2 - n2 =26, k2=7 r6c2><2 => r6c2=1 Solve r3c4><2 => r3c4=1 Solve r4c5><2 => r6c4=2 Solve r5c5 ><2 Complex Fish Siamese Fish m8, n8 =23 k8=6 r5c1 ><8 => r5c1=1 Solve r9c2><8 => r9c2=9 Solve Single Digit Pattern 4.1 Skyscrapen m4, n4 =13 k4=5 r2c1><4 => r2c1=6 Solve r1c4><4 => r1c4=6 Solve r5c5><4 => r5c6=6 Solve r2c6><4 => r1c6=6 Solve m6 n6 = 21 k6=6 r5c5><6 5.1 X Chain m7 n7=16 k7=5 r4c2><7 =>r4c2=4 Solve In order to keep the computing time in range of few seconds, n must be lower than 30. The program can solve all the examples from the “Fish strategies”.

  • There is room for improvement. One fundamental rule is to verify if the puzzle has multiple solution, It is not a Sudoku is it has multiple solution.

  • Great program with levels from very easy to insanely difficult. Unique feature is the 'Extended Print' I use this to print 2 puzzles per page. 5 pages at a time, then turn over the stack and print 2 per page on the other side. Select 'Extended Print' from file menu. select 2 per page in layout, then fill in each section eg number puzzles '2'; Difficulty 'Hard' then use slider on right to go to next section (5 sections in all) In 2 or 3 minutes with laser printer and I have 20 puzzles to take with me.

  • very good documentation, functional GUI

  • Nice one and very easy to use :) Thanks Michael

Read more reviews >

Additional Project Details


English, German

Intended Audience

End Users/Desktop

User Interface

Java Swing

Programming Language