ForHosting KIT · 開発者向けツール

数独の盤面チェック|行・列・ブロックの重複を検出

数独では、たった1つの数字の重複でも、見つけにくい段階から盤面が無効になることがあります。このチェッカーは、完成済みまたは途中の標準盤面を調べ、規則違反に関係する入力済みのマスをすべて特定します。行・列・3x3ブロックを個別に確認し、空欄は無視して、各マスの座標と問題の理由を安定した形式で返します。問題を解いたり未入力の数字を明かしたりしないため、練習、問題作成、学習支援、自動検証に安心してお使いいただけます。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

確認前に盤面の形式を整えてください

標準的な数独盤面を、各行9マスの全9行で入力してください。入力済みのマスには1から9までの数字を使用します。空欄はピリオドまたは0で表してください。どちらも同じ意味で、重複確認の対象にはなりません。読みやすくするため、マスの間に空白、カンマ、縦線を入れることもできます。そのため、詰めて書く形式と区切って書く形式の両方に対応しています。チェッカーはこれらの区切り文字を取り除きますが、その他の文字を推測したり修正したりはしません。この厳密な扱いにより、形式が誤った入力と、形は正しいものの数独の規則に違反する盤面とを区別できます。9行ちょうどでない場合、区切り文字を除いた各行が9マスでない場合、または未対応の文字が含まれる場合は入力エラーになります。初期配置だけの問題、途中の対局、ほぼ完成した盤面など、部分的な入力も確認できます。すべて空欄の盤面は、衝突する入力済みマスがないため構造上は有効です。送信された配置だけを評価し、空欄を埋めたり値を変更したりすることはありません。

マスごとの重複レポートをご確認ください

結果の先頭には真偽値の<code>valid</code>があります。入力済みのどのマスも、同じ行・列・3x3ブロック内の別のマスと数字が重ならない場合は真になります。<code>filled_cells</code>は、確認した空欄以外のマス数です。盤面が無効な場合、<code>conflict_cells</code>に関係する全マスが並びます。各項目には1から始まる行と列の座標、入力された数字、1つ以上の理由が含まれます。理由には規則の種類、1から始まる単位番号、重複した値が示されます。1つのマスに複数の理由が付く場合もあります。たとえば同じ5が行と左上ブロックの両方に重複していれば、どちらの情報も保持されます。全対象マスを示すため、画面側ではグループを再構成せず、問題箇所を直接強調できます。出力順は常に一定で、マスは読み順、理由は行・列・ブロックの順です。空欄はレポートに含まれません。同じ単位に同一数字が3つある場合も、任意の2つだけではなく3つすべてを表示します。

有効という結果が示す範囲をご理解ください

この確認が答えるのは、現在の配置が行・列・ブロックの一意性規則に直ちに違反しているか、という限定された問いです。有効という結果だけでは、問題を解けること、解が1つだけであること、ヒント配置が良質であることは証明できません。直接の重複がなくても、以前の選択によって別のマスの候補がすべて失われ、完成できない配置があります。その判定にはソルバーや、より深い実行可能性分析が必要であり、この機能では意図的に行いません。この限定性は、答えを明かさずに誤りだけを伝えたい場面で役立ちます。学習ツールは重複マスを強調でき、問題エディターは変更のたびにヒントを確認でき、インポート処理は高コストな工程の前に破損データを除外できます。処理対象は最大81マスで、ネットワーク、乱数、時刻、外部状態を使いません。同じ入力からは必ず同じ構造の出力が得られます。ブラウザーでは同じ純粋なロジックをローカル実行でき、自動処理では1項目あたり$0.002でAPIを利用して、後日の確認用に重複座標を保存できます。

途中の対局をご確認ください

ソルバーに未入力の数字を明かさせることなく、部分盤面の重複入力を見つけられます。

数独のヒントを点検してください

新しく入力した盤面を検証し、直ちに規則へ違反するすべてのマスを強調できます。

インポート処理を保護してください

後続処理の前に、形式不正のテキストと、形式は正しいものの矛盾する数独データを分けられます。

未完成の数独も確認できますか?

はい。空欄ごとにピリオドまたは0をご使用ください。空欄は重複確認では無視されます。

有効なら必ず解けますか?

いいえ。現在の入力に行・列・ブロックの重複がないという意味だけです。解けることや解が1つであることは証明しません。

1つのマスに複数の理由が付くのはなぜですか?

同じ入力が、行・列・ブロックで同時に数字を重複させる場合があるためです。違反した規則を個別に報告します。

座標は0から始まりますか?

いいえ。人が通常数独を説明する方法に合わせ、行・列・単位番号は1から始まります。

APIでの確認料金はいくらですか?

APIで処理する1項目の料金は$0.002です。ブラウザーの対話型チェッカーはローカルで無料実行できます。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/hobby/game-sudoku-validity

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/hobby/game-sudoku-validity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"grid":"53..7....\n6..195...\n.98....6.\n8...6...3\n4..8.3..1\n7...2...6\n.6....28.\n...419..5\n....8..79"}'
{
  "grid": "53..7....\n6..195...\n.98....6.\n8...6...3\n4..8.3..1\n7...2...6\n.6....28.\n...419..5\n....8..79"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "hobby.game_sudoku_validity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

KITの完全なドキュメントを見る →