One of the items that has been in my job queue for the longest is Forcing Nets. The reason for my hesitation is, while the concept is not too difficult, creating an efficient implementation has been daunting as the potential search space is enormous. Any extra strategies need to take a reasonable amount of time to compute as the CPU resources are finite.
The second reason I've been hesitant to introduce them is they are border-line "trial and error" and my solver is devoted to "pattern-based" strategies. I don't believe in back tracking as a final resort. It is more interesting to leave those puzzles as an open question. However it is possible to reduce a Forcing Net to the essential chain fragments and express them as Alternating Inference Chains.
Forcing Nets have the potential to bust open many of my existing 'unsolvables' so making future ones much harder, but that's progress.
Forcing Nets are not in the solver yet but I do have a simulation of them you can play with. Choose "Chains" above the main solver board. Instead of a "Use 3D chains" there is a slider allowing you to set the depth of the search. This will dynamically re-size the displayed Forcing Net.
So what are Forcing Nets? We've covered a variety of Forcing Chain like Digit Forcing Chains and these are linear or made up of several linear chains. A 'net' suggests two dimensions rather than one. We start with an ON or OFF and follow the consequences. All candidates that can see the target candidate are flipped. An ON will effect all it can see. An OFF will propagate only if one other candidate is present in the row, column, box or cell (essence of a Stong Link).
Lets take a very trivial example to start with.
We know just from glancing at the board that 5 must go in A6 as it is the last space for a 5. But we're going to ignore that and click on 5 in F6 to turn it ON.
The slider level is depth 1 - the default. Immediately it turns off all the 5s it can see.
Moving the slider to depth 2 sets a bunch of candidates green as they are bi-value cells and must be the solutions if the other candidate is turned off.
Moving the slider to depth 3 turns OFF even more candidates because of the new green ones turned on.
And so on. The yellow cell indicates a contradiction telling us our original choice was wrong and we can eliminate that candidate. At the end it find that all 2s are removed from column 6, a compounded error.