You might consider combining almost-locked grids with your newly-discovered "almost-locked ranges":
- Code: Select all
. . .|. . .|/ / 5
. 5 .|5 . .|5 5 5
. | .|| . .|/ / 5
--|--+|----+-----
. 5 .|5 . .|. . *
. | .|| . .|. . .
. | .|| . .|. . .
--|--+|----+-----
. 5 .|5 . .|. . *
. . .|. . .|. . .
. . .|. . .|. . .
*<>5
I don't know how useful they might be...
One thing I have noticed in your solver that seems not to have occurred before is the strange choice of subsets. Of course, for every naked subset there is a corresponding hidden one and vice versa, but your solver sometimes finds the larger subset.
Here you can use a naked pair instead of the hidden triple.
And your only example of a hidden quad can be replaced by a naked triple.