[Disclaimer: this is a question related to the programming of a solver. The "Solver Programs" forum states that it is meant only for posting notifications for new solvers available and how to access them, so I thought this forum is more appropriate]

I am wondering about how to code a matcher for swordfish or bigger fishes

efficiently.

If you programm in "normal topology" (9x9) this seems difficult enough for

me (e. g. 84 choices to pick 3 columns with 3 or less (!) candidates, picking

one of 84 choices for the overlapping 3 rows, check if all candidates are

only in the intersection with respect to the columns, ...).

Perhaps there is a more efficient way?

In my case the situation is even worse. I programmed a generic solver,

which works on arbitrary topologies. So there is no concept of rows or

columns, these are just "special cases" the solver kernel does not know

about.

Its a shame that most of the time I run the beast on standard sudoku:-)

Standard sudoku has 27 houses, so there are 2925 choices to just pick

three of them (some less, if you dont allow them to overlap) and for

each of them another 2024 choices to pick approproate overlapping

rows from the remaining 24 houses. The last choices can be limited

if the intersection constraints which build a swordfish are checked on

every choice.

I implemented this for X-Wing (works well) I dont started for swordfish,

and at least a jellyfish seems out of reach of this naive approach.

Any clues?