JSudoku Software

If you have written the best solver, generator, or helper, we should know about it
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

JSudoku Software

Post by Jean-Christophe »

Hi,

JSudoku is a Sudoku solver, helper and generator written in Java. It works fine under Windows, Mac OS X and should work equally fine under Linux.

The main focus in on Killer Sudoku, but it also support vanilla Sudoku and a bunch of other variants : Sudoku X (diagonal), JigSaw, Even/Odd & the like, (non) consecutive, Greater/Less than... which may be all combined.

See : http://jcbonsai.free.fr/sudoku/?cat=7

Here is a screen shot, better than 1000 words ?

Image

I wrote a User guide (almost up to date :oops: ) :

It’s free and for private use only.

Comments and suggestions are welcome.
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Version 0.6 released

Added Y-Wing solver Never heard of an Y-Wing ?
Added XY-Chain & Loop solver
Added complex/killer naked triplet solver
Added support for Windoku
Automated searches of Law of Leftovers for Jigsaw. Should use fewer Grouped Wings & Fishes now.
Added combinations conflicting with 3 possibilities.
...

See my web site for more details

Feedback, bugs, suggestions, comments... are always welcome.
mhparker
Grandmaster
Grandmaster
Posts: 345
Joined: Sat Jan 20, 2007 10:47 pm
Location: Germany

Post by mhparker »

Jean-Christophe wrote:Version 0.6 released
Thanks, JC! I've downloaded it already. :D
Jean-Christophe wrote:Automated searches of Law of Leftovers for Jigsaw.
Don't understand what you mean by "automated searches" here. Please explain.
Jean-Christophe wrote:Added combinations conflicting with 3 possibilities.
Don't understand this, either. Can you give us an example?

TIA.
Cheers,
Mike
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

In the previous versions, LoL were not detected by the program. You had to create / define them by hand. The program will now searches for LoL and create / define them for you.

Combinations conflicting with 3 possibilities is for Killer. It's an extension to combinations conflicting with a pair. Two examples:

1. R1C1 = {234}, Cage 9/3 in R1C234. The Cage 9/3 cannot be {234} since this would leave no candidate for R1C1.

2. Cage 8/2 in R1C12 = {17|26|35}, Cage 12/3 in R1C3456. Cage 12/3 cannot be {156|237} since this would leave no combination for Cage 8/2.

This technique is used only as a last ressort when no other easier technique can make progress. Indeed there are plenty of such conflicting combinations in a difficult killer. I found that most are useless. They do not allow to make real progress.
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Version 0.6b2 released

Added Grouped XY-Chain & Loop solver.
Added Complex/Killer XY-Chain & Loop solver.
Added Locked Cages solver. It will search for some candidate for some house locked in two sum cages and consider the implications
Added Hidden extra group solver. It’s similar to LoL and Innies, but will search for difference of N houses minus N-1 other houses resulting in exacly one house
Added Overlap solver. It will search for “simple” overlaps only up to 3 cells
...

See my web site for more details.
sudokuEd
Grandmaster
Grandmaster
Posts: 257
Joined: Mon Jun 19, 2006 11:06 am
Location: Sydney Australia

Post by sudokuEd »

Jean-Christophe wrote:Version 0.6b2 released
Hi Jean-Christophe,
when I down-load or try on-line it tells me version .5b3. How can I get the up-to-date one? Is there something else I have to do first?

Thanks
Ed
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Hi,
I checked the version on my server. It's version 0.6b2.
You should try to clear the cache of your browser and reload it.
Hope this helps
mhparker
Grandmaster
Grandmaster
Posts: 345
Joined: Sat Jan 20, 2007 10:47 pm
Location: Germany

Post by mhparker »

Hi Jean-Christophe,
Added Hidden extra group solver. It’s similar to LoL and Innies, but will search for difference of N houses minus N-1 other houses resulting in exacly one house
Added Overlap solver. It will search for “simple” overlaps only up to 3 cells
Don't understand these two techniques. Can you provide some assistance here please? TIA.

BTW, it's very impressive what you've managed to cram into the program in a relatively short amount of time. I would download JSudoku even if you'd just implemented one new technique, let alone 5 or more!
Cheers,
Mike
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Hidden extra group eg. for windoku will find XG in R234C159 ...

Overlap: see my web site. It was already in the software, but as a semi-automated tool. It will now search for it.
mhparker
Grandmaster
Grandmaster
Posts: 345
Joined: Sat Jan 20, 2007 10:47 pm
Location: Germany

Post by mhparker »

Thanks for the quick answer, JC!
Jean-Christophe wrote:Overlap: see my web site.
Thanks. Found it here.

However, I'm not yet convinced that the reductions found by the overlap technique can't be found by other methods.

For example, in your first example, r5c345 must sum to 15 (innies r5) -> r34c5 = 5 (from splitting the 20/5 cage at r3c5) -> r5c5 = 5 (innie c5).

In the second example, it's just a case of n2 outies = r1c123789 = 22/6 -> r1c456 = 23/3 (innies r1).

So the technique seems a bit redundant to me. Or are there examples that can only be solved using it?
Cheers,
Mike
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

mhparker wrote:So the technique seems a bit redundant to me. Or are there examples that can only be solved using it?
Yes, as I said on my site, for the simplest case, one can deduce the same using several simpler techniques. But without this technique, I think it would be harder to solve The Frame or B2
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Version 1.0b1 released

Mainly changed the user interface but also added some features

See my web site for more details.
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

Version 1.1b1 released

Changed Design New Grid to let you control variants and the generator.
Added solver for Unique Combinations.
Added support for Non Consecutive at chess moves.
Added status bar and timer
...

See my web site for more details.
nj3h
Gold Member
Gold Member
Posts: 111
Joined: Mon Jul 10, 2006 12:58 pm
Location: Virginia / USA

Post by nj3h »

Hello J-C,

I have a question about your puzzle generator. Does it allow you to select a particular difficulty? For example, if I wanted a jigsaw puzzle, with LoL and x-wings, but not anything higher on the technique food chain, is this possible?

Regards,
George
Jean-Christophe
Addict
Addict
Posts: 92
Joined: Mon Apr 23, 2007 12:50 pm
Location: Belgium

Post by Jean-Christophe »

No, there is no such control of the difficulty based on the techniques used. You may generate a puzzle, then deduce all moves and inspect the techniques used.

The number of guesses gives some control, but a higher number of guesses does not always gives a harder puzzle. When the generator reports zero guesses, then the puzzle can be solved with singles only. You may set the minimum number of guesses to 1 to generate puzzles requiring some higher technique. But it could be any higher technique(s): from a simple locked candidate, to several XY chains.

Hope this helps

Here is one I made for you:
SumoCueV1=0J0=2J0=0J0=0J1=0J1=5J1=0J2=0J2=0J2=0J0=0J0=0J0=0J1=0J1=1J1=4J2=0J2=7J2=3J0=0J3=4J0=0J1=0J4=0J4=0J2=0J2=2J5=0J0=0J3=0J3=0J1=0J1=0J4=8J2=7J5=0J5=8J3=0J3=0J3=0J4=0J4=0J4=0J5=0J5=9J5=0J6=1J3=6J3=0J7=0J7=0J4=0J8=0J5=0J5=4J6=0J3=0J6=0J7=0J4=0J4=6J8=0J8=8J5=5J6=0J6=8J6=3J7=0J7=0J7=0J8=0J8=0J8=0J6=0J6=0J6=9J7=0J7=0J7=0J8=8J8=0J8
Post Reply