Swordfish(劍魚)是 X-Wing 的 3 線版本。取一個數字,找出 3 列,其中這個數字被限制在同樣的 3 行裡,那麼這個數字就可以從盤面其他位置,把這 3 行裡的候選數全部刪去。
一次只處理一個數字。選 3 列(基線),每一列中這個數字最多有 3 個候選數格。如果這些候選數全都落在同樣的 3 行內,你就有了 Swordfish,而這 3 行就是覆蓋線。
道理純粹是計數。3 列各需要一個這個數字,3 個全都在 3 行中,而一行最多只能有一個。所以這 3 行已經被這 3 列完全占滿。這些行中的其他格子都不能放這個數字。
行和列對調後,一切運作方式相同:3 行被限制在 3 列內,就能從那些列中排除這個數字。
| X-Wing | Swordfish | |
|---|---|---|
| 基線 | 2 | 3 |
| 覆蓋線 | 2 | 3 |
| 每條基線的候選數 | 恰好 2 | 2 或 3 |
| 模式格 | 4 | 6 到 9 |
| 一般排除數 | 1 到 4 | 2 到 8 |
放寬的計數,是 Swordfish 難以看出的原因:一條基線可能有 2 個候選數,也可能有 3 個,而且模式通常是參差的,而不是整齊的矩形。
只看數字 5。看 B、D 和 H 列:B 列的 5 只能在 B7 或 B8,D 列只能在 D3 或 D7,H 列只能在 H3、H7 或 H8。
這些 5 全都在第 3、7 和 8 行,而且沒有任何 2 列共用同一對行,所以這是真正的 Swordfish,不是偽裝的 X-Wing。計數是參差的:2 個、2 個和 3 個候選數。這 3 列各需要自己的 5,而一行只能有一個,所以第 3、7 和 8 行的 5 就落在 B、D 和 H 列。
這讓這些行的其餘格子被釋放:從 F7、F8(第 7 和 8 行)、G3(第 3 行)和 J8(第 8 行)刪去 5。共 4 個排除,這裡沒有直接導出任何填入。
Swordfish 模式從困難經典數獨開始變得重要,與 Wing 並列。它們比 X-Wing 罕見得多,所以把搜尋當作轉向著色法和鏈之前的最後一輪掃描;如果 3 線不夠,同樣的計數論證擴展到 4 線,就是 Jellyfish。