先看懂列、欄與宮

一個空格同時屬於一列、一欄與一個 3×3 宮。判斷某個數字能不能放進去時,必須同時檢查這三個範圍。題目一開始已經填好的數字稱為給定數,不能修改;品質合格的數獨還應只有一個完整解。Sudoku0 發布的題目會先驗證給定數合法,再檢查完整解與唯一解。

例如你想在某格放 7,就先橫向看同一列是否已有 7,再垂直看同一欄,最後看所在的 3×3 宮。只要任何一個單位已經有 7,這格就不能再放 7。這個簡單動作就是候選數排除的核心。

什麼叫合法的一步

合法不等於一定正確。某格沒有違反列、欄、宮規則,只代表這個數字暫時沒有被排除;如果該格仍有多個可能數字,就還需要更多證據。把所有尚未被排除的數字記成候選數,可以把模糊的直覺變成可檢查的資訊。

完成棋盤時也不能只看「81 格都填滿」。真正的完成條件是每列、每欄與每宮都包含 1 到 9 且沒有重複。越早養成用限制驗證每一步的習慣,越不容易在後面被一個早期錯誤拖累。

新手最可靠的第一輪掃描

先找已經填得比較滿的列、欄或宮,列出它缺少哪些數字,再逐格排除。若一個空格只剩一個候選數,就是唯一候選數;若某個數字在一整列、欄或宮裡只剩一個位置能出現,就是隱性唯一數。這兩類技巧足以解掉大量簡單題。

  1. 挑一個給定數較多的列、欄或宮。
  2. 找出這個單位缺少的數字。
  3. 用交叉的列、欄與宮逐格排除。
  4. 只有在位置被邏輯鎖定時才落子。
  5. 每填一格就重新掃描,因為候選數已經改變。

為什麼不需要猜

猜一個數字也許能讓棋盤暫時往前,但你會失去「為什麼這一步成立」的證據。一旦猜錯,錯誤可能連鎖到很多格,最後很難追溯。卡住時應先補候選數、換一個區域掃描,或檢查是否有尚未看見的單一候選與唯一位置;更難的題目則使用數對、宮與列欄互動、X-Wing 等可說明的排除。

把每一步都當成一個可以向別人解釋的小證明,解題品質會比追求速度更穩定。Sudoku0 的「說明」功能也是依照這個原則:先展示理由,再讓你決定要不要套用。

常見問題

對角線也不能重複嗎?

經典數獨沒有對角線限制。只有題目明確標示為對角線數獨等變體時,才會加入額外規則。

解數獨需要很強的數學嗎?

不需要。1 到 9 在這裡只是九個不同符號,核心能力是排除、位置關係與模式辨識,不是加減乘除。

一題數獨可以有兩個答案嗎?

技術上可能存在多解棋盤,但正式發布的經典數獨通常應只有一個解。Sudoku0 會在發布前做唯一解驗證。