while implementing XY-Chains in my solver, I made the horrible mistake of using Conjugate Pairs instead of DuoCells to make the links between the cells. To my amazement, this didn't result in errors but actually solved sudoku's, and quite a lot. I am using the about 50000 puzzles from the sudoku17 list as a testcase for my solver, and depending on where I apply this technique, it solves between 1000 and 3000 extra puzzles.
I know this is not a programmers forum, but I don't understand why this technique is working so that is why I am posting this question here. I have searched google, scanraid, sudopedia, this forum, ... and I couldn't find a similar technique. It is more than likely that what I am describing here was already found and simply has a different name.
So if anyone could help me by explaining what this is and how it works, I would be more than grateful.
This is how I implemented it :
- use a duocell as starting point (don't really know if that is necessary), but use only cells where at least 1 of it's candidates is part of a conjugate pair
- chain to the other cell of the conjugate pair (that cell does not have to be a duocell)
- in the other cell, switch candidates but only use candidates that are part of a conjugate pair
- keep chaining until you end up using the same candidate as you used to start the chain.
The 2 endpoints of this chain now form a remote pair (at least it looks like that)
Here are some examples :
Thanks in advance to anyone willing to take a look at this.[/img]