Hashiwokakero
Join the islands with bridges. Each island wants exactly its number of bridge-ends; bridges run straight (no diagonals), at most two between a pair, and they may never cross. Every island must end up in one connected group. Click the water between two islands to add a bridge — click again for a double, once more to clear.
The solver is two layers. First a sound propagation pass applies two strict rules to a fixpoint. Each edge between two neighbouring islands can carry 0, 1 or 2 bridges, tracked as a live interval [lo, hi]. Degree bounds: an island's incident edges must sum to its clue, so each edge must carry at least what the others cannot cover, and at most what is left once the others take their minimum. No crossing: the moment one edge commits to a bridge, any edge that would overlap it is struck to zero. Neither step ever guesses. When logic stalls, a fewest-options search branches on the edge with the narrowest interval, lets propagation prune, and — crucially — throws away any complete assignment whose bridges leave the islands in more than one connected component. That last check is what makes a Hashi solver more than a system of linear equations. Every bundled board is drawn as its own finished solution; the solver reads off the clues and re-derives that exact layout as the one and only answer.