Note: This explanation uses "binding", but I just made that up. My code uses "conjugate". Maybe "locked set" would be better.
What if, instead of 1 cell only having 1 candidate, 2 cells only have 2 candidates (combined)?
Here are three cells, represented by their candidates. A group of cells is a "set".
12....... | 12....... | 123456789
Notice how the first 2 cells (set A) only have 2 candidates.
Since all the cells in set A see each other, those cells are "binding".
The "balance" of a binding is (# of different candidates - # of cells).
So in this case, set A is "balanced" because there's 2 cells and 2 different candidates.
It's impossible for a binding to have a negative balance (# of candidates in # of cells < # of cells):
1........ | 1........ | 123456789
And if that third cell was 1 or 2, the binding of all three cells would be -1
12....... | 12....... | 1........
So the third cell can't be 1 or 2
12....... | 12....... | ..3456789
"Any candidate not in a binding that sees all of a specific candidate in a binding can be eliminated."
Of course, this explanation is really abstract.
Another way to think about this is that the first two cells form a "pair" of 1 and 2.
And this pair is in the same box!
So the rest of the 1s and 2s in the box can be eliminated
12....... | 12....... | ..3456789
..3456789 | ..3456789 | ..3456789
..3456789 | ..3456789 | ..3456789
And same thing for the row!
This logic applies to other binding sizes as well.
three cell binding = triple
four cell binding = quad
Note that it doesn't matter that all digits have all candidates of a binding.
It just needs to total the balance.
For example, this binding of 1, 2, and 3 has 3 cells. So it's a valid triple.
12....... | .23...... | 1.3......
But what about a five cell binding?
12345.... | 12345.... | 123456789
12345.... | 12345.... | 12345....
123456789 | 123456789 | 123456789
Well, notice that there's a "hidden binding" with 6, 7, 8, and 9
A hidden binding is the same but opposite idea:
Where a non-hidden binding deals with the last n digits (in n cells),
hidden bindings deal with the last n cells (for n digits).
So if there's 5 cells with 5 candidates, those 5 cells are missing 4 candidates.
Since 9 - 5 = 4, those 4 candidates only have 4 cells remaining to work with. Hidden binding guaranteed!
That's why you only have to look for
bindings to size 4
hidden bindings to size 4, because (thinking opportunity, highlight to see answer: 4 cells must have those 9-5 non-hidden candidates, which forms a binding of size 4)
Hidden bindings are computationally the same as non-hidden bindings, at least theoretically.
Unfinished
Also add next page options