ベズー係数計算機
240と46の最大公約数は2で、240×(−9)+46×47はちょうど2になるため、xは−9、yは47です。両方が0でない2つの整数を入力すると、最大公約数と有効な係数の組が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 240
- B
- 46
- Gcd
- 2
- X
- -9
- Y
- 47
- 検算
- 2
ベズーの等式は、ともに零でない任意の整数 a と b に対し、a に x を掛けたものと b に y を掛けたものの和が a と b の最大公約数に等しくなる整数 x と y が存在することを述べます。これらの係数は、線形ディオファントス方程式、gcd が 1 のときのモジュラ逆元、および二つの数が互いに素であることの授業での証明における構成的な中核です。
ベズーの等式が主張することと係数が重要な理由
ともに零でない整数の任意の対には、非負の明確な最大公約数 g があります。ベズーの等式はさらに進み、a に x を掛けたものと b に y を掛けたものの和がその g に等しくなる整数 x と y を保証します。存在証明は構成的であり、ユークリッドの剰余過程に従います。
通常の除法は、零が現れるまで対を次の剰余で繰り返し置き換えます。最後の非零剰余が gcd です。各剰余が元の入力の整数線形結合としてどのように書かれるかを追跡すると、終了時に係数が得られます。
教科書では除算表の商を後方代入することが多く、本番コードでは剰余のスタックを保持せず、単一ループで二つの係数対を更新するのが一般的です。どちらの手法も同じ数学的対象を計算します。係数は一意ではありません。
ある対が成り立てば、b を g で割った整数倍と a を g で割った整数倍を逆符号でずらした対もすべて成り立ちます。本ツールは反復アルゴリズムによる一つの特解を返し、常に非負の gcd を用いるため、スクリプトや採点器は一般解集合を再導出せず固定の規約と比較できます。
計算機の呼び出し方と応答の読み方
整数 a と b を送ってください。零と零の対も拒否されます。零と零の gcd は未定義であり、意味のあるベズー方程式を作る係数は存在しないためです。
典型的な確認:二百四十と四十六では gcd は二で、有効な解の一つは x がマイナス九、y が四十七です。gcd が 1 の素数対では、x を還元した後、係数が a の b を法とするモジュラ逆元を与えます。片方が零でもう片方が非零の場合、gcd は非零入力の絶対値に等しく、係数パターンは自明になります。
実務でベズー係数が現れる場面
競技プログラマは、まず gcd と基本のベズー対を求め、gcd が c を割るときに一般解を拡大・パラメータ化して、a に x を掛けたものと b に y を掛けたものの和が c に等しい方程式を解きます。
暗号の学生は、a と m の gcd が 1 のとき、a の係数を m で還元して読み取ることで、RSA の教材例やアフィン暗号のモジュラ逆元を復元します。教員は二つの整数が互いに素であることの構成的証明を課し、互いに素性の真偽ビットだけでなく線形結合を示す決定的オラクルを必要とします。
データやシステムの技術者は、周期スケジュールやストライド算術を調整するときに明示的な線形結合を要することがあります。本機能は純粋な parse エンジンのため、モデルの漂移、ネットワーク依存、保存状態はありません。検証失敗は残高を消費しません。
ブラウザツールで宿題を素早く確認し、大量のディオファントス検査が必要になったら同じ契約を自動化してください。係数なしの単純な gcd だけが必要でも、このページはその需要に応えつつ、数論のカリキュラムと拡張ユークリッドの面接問題を支えるより強い構成的ベズー結果を教えます。
活用例
線形ディオファントス方程式
a*x + b*y = gcd の特解 (x, y) を得てから、競技や宿題で a*x + b*y = c を解く際に拡大とパラメータ化を行います。
モジュラ逆元の基本ブロック
gcd(a, m) = 1 のとき、a のベズー係数を m で還元し、暗号や数論の演習用のモジュラ逆元を復元します。
よくある質問
ベズーの等式とは何ですか?
ともに零でない整数 a と b に対し、a*x + b*y が gcd(a, b) に等しくなる整数 x と y(ベズー係数)が存在することを述べます。本計算機はそのような対と gcd を返します。
係数は一意ですか?
いいえ。( x, y) が成り立てば、任意の整数 k について (x + k*(b/g), y - k*(a/g)) も成り立ちます。本ツールは反復アルゴリズムによる一つの特解を返します。
対応する整数の範囲は?
a と b はそれぞれ絶対値が最大 9007199254740991(Number.MAX_SAFE_INTEGER)の整数でなければなりません。
ベズー係数からモジュラ逆数を求めるには?
aとbの最大公約数が1なら、等式はa·x+b·yが1になる形です。xをbで割った余りに直すと、それがbを法とするaの逆数、つまりaを掛けると余りが1になる数です。
どちらかの数が0のときはどうなりますか?
最大公約数はもう一方の数の絶対値になり、係数もごく単純な組になります。両方とも0の組だけは最大公約数が定義されないため受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/bezout-identity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":240,"b":46}'const res = await fetch("https://api.kit.forhosting.com/numth/bezout-identity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 240,
"b": 46
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/bezout-identity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 240,
"b": 46
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/bezout-identity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":240,"b":46}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":240,"b":46}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/bezout-identity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 240,
"b": 46
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.bezout_identity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は二つの整数を受け取り、双方が零という未定義の場合を拒否し、gcd、ベズー対 x と y、数値検証、読みやすい方程式文字列、ノートや自動テストに貼れる短い恒等式ラベルを含む安定した JSON を返します。
計算機の呼び出し方と応答の読み方
フォーム向けクライアントのために、a には first または m、b には second または n の別名も受け付けます。非整数、空欄、プラットフォームの安全な整数絶対最大値を超える値は invalid_input で拒否され、課金されません。成功時の応答には、正規化された a と b、gcd、x、y、同じ係数を持つ入れ子の bezout オブジェクト、a に x を掛けたものと b に y を掛けたものの和に等しい数値 check、二百四十にマイナス九を掛けたものと四十六に四十七を掛けたものの和が二に等しいといった方程式文字列、および一般関係を述べる identity フィールドが含まれます。
実務でベズー係数が現れる場面
固定の係数規約のもとでは同じ対が常に同じ JSON を返します。API 料金は成功 1 件あたり公開ベースの $0.002 です。
連携の活用例
教育と自動検査
安定した JSON の equation フィールドで a*x + b*y = gcd の恒等式を学生に示し、同じ契約を採点器や CI フィクスチャに接続します。
技術的な質問
a と b がともに零だと拒否されるのはなぜですか?
gcd(0, 0) は未定義です。正の最大公約数が存在しないためベズーの等式は適用されず、API は invalid_input を返し課金しません。
料金はいくらですか?
ブラウザツールは無料でローカル実行されます。API 要求は前払い KIT 残高を成功 1 件あたり $0.002 で使用し、無効入力は課金されません。