FYI Andrew stewards ScanRaid is compltly coded as niceloops and misses many things as it tries to act like aic which it cannot do, errors in his aic code are frequent as the chains don't line up to aic normal output
His code also only returns the first object found, instead of all or the best option.
All niceloop techniques are archaic and no longer used.
Which includes colouring, simple colouring, 3d Medusa
As all the elims are included under aic which is always shorter.
Ape and ate evolved into als thus no longer used
Bomans is a forcing chain depth based for contradictions as a 2 digit tempalte
Not used
Nisho single digit forcing chain looking for a contradiction ie 1 digit templating
Not used.
Foching chains pretty much a last resort
I'd add
Als xz, als xy, als chain and include the n rcc rule (2 fo als xz, 3 for als xy, where n = chain length)
3rcc is missing in scanraid
Xy, xyz, wxyz, wings& rings all the way up 8 cells with 9 digits (adding a character for each digit)
are classed under bent almost restricted set (barns)
which is specialized als xz functions of n digits in n cells over 2 sets.
2rcc is usable for these this is ommited in ScanRaid.
Next I'd scale up and add in disjointed distributed subsets (dds
This is where Sue de coqs, ànd death blossoms fall under and scale beyond 3 sectors
Coded as als with dof size 1-8
Almost DDS is possible as well.
Chaining DDs is possible, with my newly added rules.
Aals 2rcc mutual elimination fails under DDs but can be coded as is own
X-cycles dead technique evolved into aic x chains as x-cycles are niceloop based.
ScanRaid still tries to use this to replicate aic... Err.
X-chains are single digit aic
Short named techniques for these are ommited by scanraid
Xwing
Finned xwing
Sashimi x wing
Skyscraper
2 String kite
Grouped 2 string kite
Empty rectangle
Rec'k kite
Dual er
Linked dual er
Swordfish + Sashimi +finned
Jellyfish +Sashimi +finned
Nx Eri
Siamese fish (1 fish more then 1 set of cover option for extra elims)
All of these can be expanded as muti fish (2 or more digits 1 fish)
Nxn (standard fish rules using fins)
Nxn+k fish size 1-7, where k=1-2 and beyond depending on how u code)
Ahs xz
Ahs xy
Ahs chain
Ahs DDS, ahs adds
Xy chain
Hidden xy chain
Remote pair
Remote pair with eri
Hidden remote pair
Aic chain
Aic +als
Aic+ ahs
Aic+als+ahs
Aic+fish
Aic+als+fish
Aic+ahs+fish
Aic +fish+als+ahs
Alc - sos ie fireworks but not specific.
Alc pair, tripple, quad
Named aic chains
W wing/ring
Split wing/ring
M2 wing/ring
M3 wing/ring
Hybrid wing/ring , H wings types 4-6
Local (123) wing/ring
Inverted w wing/ring
Strong wing/ring
Muti-fish
SK loop nKed
Sk loop hidden
Msls older and is easier to use the sets!
Thors hammer
Exceots Jr, sr
Uniqueness arguments
Bug
Bug+n
Bug lite
Rêverse bug
Reverse. Bug lite
Mug
Mug+n
Pug
Ucc
UR types 1-7
Aur any Ur type exposed via any chain.
Avoidable rectangles types 1-2
Hidden rectangle types 1-2
NAMED MOVES AGAIN
Transport als xz (ADDS 1 STRONG LINK)
Transport als xy (ADDS 1 STRONG LINK)
Hybrid als xz, (ADD 1 CELL)
Hybrid als xy (ADD 1 CELL)
(THE FOLLOWING ECPANDS THE NAME MOVE TO LARGER ALS)
Als w wing/RING.
Als s wing/ring
Als M wing/rinG
Ahs M wing/ring
AHS W WING/RING
AHS S WING/RING
Subset notes
Subsets can be degenerative, scan raid dosent do this.
Subsets should be able to turn on or off.
Hidden subs are found first by human players as we use Rn, Cn, Bn space naturally with no pms
Naked are seen first by machine code due to rc space as a union of rn, Cn, Bn space per square.
Naked pair/hidden pair when found in a box on 1 sector are named locked pairs
Naked tripple/hidden tripple when found in a box on 1 sector are named locked tripples
Blr has 2 types and is also a size 1 fish some times called locked candidates or pointing canddiates
Ps.
Avoid ScanRaids a-j, 1-9 and use standard rc notation
Pls use Aic written language Eureka
ScanRaid still uses niceloop output pain to read.
A full list of every technique I know
https://reddit.com/r/sudoku/w/techniques?utm_medium=android_app&utm_source=shareI'm also presently developing a full Gui in Java with the master list as techniques
if your interested, its à rebuild of my pascal solver
The more helpers I have the easier it will be to launch this hodoku inspired rebuild
Reviewing your code
Your missing
RC, Rn, Cn, Bn space
which is key for setting up subsets, aic strong links, and fishing, als sets, ahs sets. Etc
Most of your code cycles the grid and builds the stuff thèses 4 spaces sets up. So 8t could be much faster then it currently is
anything als and ahs