Lineare Kombination zweier Zahlen: x, y für ax+by=c finden
Finden Sie ganze Zahlen, mit denen 15 und 25 multipliziert zusammen 10 ergeben: 15 × 4 + 25 × (−2) = 10, möglich, weil der größte gemeinsame Teiler 5 die 10 teilt. Andernfalls erfahren Sie, dass es keine Lösung gibt. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- A
- 15
- B
- 25
- C
- 10
- Gcd
- 5
- X
- 4
- Y
- -2
- Prüfung
- 10
Eine lineare Kombination zweier ganzer Zahlen a und b ist jede ganze Zahl, die sich als a mal x plus b mal y für geeignete ganze x und y schreiben lässt. Nicht jedes Ziel ist erreichbar: Der Satz von Bézout besagt, dass die erreichbare Menge genau die Vielfachen des größten gemeinsamen Teilers von a und b ist. Dieser Rechner für die lineare Kombination zweier Zahlen nimmt die Koeffizienten a und b sowie ein Ziel c entgegen, berechnet diesen ggT mit dem erweiterten euklidischen Algorithmus und liefert entweder ein bestimmtes Koeffizientenpaar, das das Ziel realisiert, oder meldet, dass keine ganzzahlige Lösung existiert. Lernende prüfen damit diophantische Hausaufgaben; Entwickler nutzen denselben reinen Vertrag in Wettbewerben, Schichtarithmetik und modularen Pipelines.
Was eine lineare Kombination bedeutet und wann ein Ziel erreichbar ist
Gegeben ganze Zahlen a und b, ist die Menge aller ganzzahligen linearen Kombinationen a mal x plus b mal y ein zentrales Objekt der elementaren Zahlentheorie. Der euklidische Algorithmus zeigt, dass diese Menge mit den Vielfachen von g übereinstimmt, wobei g der größte gemeinsame Teiler von a und b ist. Äquivalent hat die lineare diophantische Gleichung a mal x plus b mal y gleich c genau dann ganzzahlige Lösungen, wenn g c teilt.
Existiert eine Lösung, so existieren unendlich viele: Ist (x0, y0) eine partikuläre Lösung, so lautet die allgemeine Familie x gleich x0 plus (b durch g) mal t und y gleich y0 minus (a durch g) mal t für jeden ganzzahligen Parameter t. Der konstruktive Schritt, der eine partikuläre Lösung liefert, ist der erweiterte euklidische Algorithmus: Während er g berechnet, verfolgt er, wie jeder Rest als Kombination der ursprünglichen a und b geschrieben wird, und liefert am Ende Bézout-Koeffizienten für g selbst.
Multipliziert man diese Koeffizienten mit der ganzzahligen Skala c durch g, erhält man eine Lösung für das Ziel c. Dieser Rechner bündelt die gesamte Pipeline: er gibt den ggT zurück, ein boolesches possible-Flag, ein partikuläres Paar (x, y), wenn das Ziel erreichbar ist, einen numerischen check gleich a mal x plus b mal y, eine lesbare equation-Zeichenkette und general-Form-Strings für die parametrische Familie.
Teilt g c nicht, bleibt die Antwort erfolgreich, setzt possible jedoch auf false und erklärt das Hindernis — im Unterrichtston, dass die Gleichung keine ganzzahlige Lösung hat, statt so zu tun, als habe der Client ungültige Daten gesendet.
Wo ein Rechner für lineare Kombinationen echten Nutzen stiftet
Wettbewerbsprogrammierung und Olympiade-Training fordern wiederholt ganzzahlige Lösungen von a mal x plus b mal y gleich c; ein deterministisches Orakel, das Lösbarkeit über den ggT-Test zertifiziert und Koeffizienten zurückgibt, spart Debug-Zeit bei Skalierungsfehlern um eins. Ingenieursnotizbücher nutzen Zweikoeffizienten-Kombinationen beim Abstimmen periodischer Pläne, Münzstückelungen oder Zahnradzähne, die eine exakte Summe treffen müssen. Krypto- und Modulararithmetik-Demos starten oft beimselben erweiterten euklidischen Schritt, bevor sie sich auf Inverse spezialisieren, wenn der ggT eins ist.
Ungültige Eingabe wird nicht berechnet.
Anwendungsfälle
Prüfung linearer diophantischer Hausaufgaben
Senden Sie a, b und Ziel c, um zu prüfen, ob ganze x, y mit a·x + b·y = c existieren, und eine partikuläre Lösung plus die allgemeine parametrische Form zu erhalten.
Orakel für Wettbewerbe und Programmierung
Automatisieren Sie Lösbarkeitstests und Koeffizientenrückgewinnung für lineare diophantische Aufgaben mit zwei Variablen in Online-Richtern, Generatoren und Unit-Tests.
Schicht- und Stückelungsarithmetik
Entscheiden Sie, ob zwei Schrittweiten eine exakte Summe treffen können (Schichten, Münzen, Zahnradzähne), mit der ggT-Teilbarkeitsregel und expliziten Koeffizienten.
Häufige Fragen
Wie drücke ich ein Ziel als lineare Kombination zweier Zahlen aus?
Senden Sie ganze a, b und Ziel c. Teilt g c, liefert sie ganze x, y mit a·x + b·y = c; sonst ist possible false.
Wann gibt es keine ganzzahlige Lösung?
Wenn gcd(a,b) c nicht teilt. Die Antwort ist erfolgreich mit possible false und einer reason-Zeichenkette; das ist mathematisch unlösbar, kein Client-Validierungsfehler.
Sind die Koeffizienten eindeutig?
Nein. Funktioniert (x0,y0), so auch x0+(b/g)·t und y0−(a/g)·t für jedes ganze t.
Was, wenn a und b beide null sind?
Eine lineare Kombination zweier Nullen ist keine wohldefinierte Erzeugermenge für einen Zielwert.
Wie prüfe ich die berechneten Koeffizienten?
Multiplizieren Sie jede Zahl mit ihrem Koeffizienten und addieren Sie die Ergebnisse. Für 15 und 25 mit Ziel 10 ergibt das Paar 4 und −2 genau 15 × 4 + 25 × (−2), also 10.
Was passiert, wenn beide Zahlen null sind?
Diese Eingabe wird abgelehnt, denn eine Kombination aus zwei Nullen ergibt immer null und bildet keine sinnvolle Grundlage, um eine Zielzahl zu erreichen.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/algebra/linear-combination \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":15,"b":25,"c":10}'const res = await fetch("https://api.kit.forhosting.com/algebra/linear-combination", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 15,
"b": 25,
"c": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/linear-combination",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 15,
"b": 25,
"c": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/linear-combination", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":15,"b":25,"c":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":15,"b":25,"c":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/linear-combination", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"a": 15,
"b": 25,
"c": 10
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.linear_combination",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Eingabevertrag, Antwortform und Fehlerverhalten
Bei einer wohlgeformten, aber unlösbaren Instanz ist possible false, x und y entfallen, und reason besagt, dass der ggT das Ziel nicht teilt. Beispiel: a gleich fünfzehn, b gleich fünfundzwanzig, c gleich zehn liefert ggT fünf, possible true und ein gültiges Paar x gleich vier und y gleich minus zwei. Unmöglichkeitsbeispiel: a gleich vier, b gleich sechs, c gleich fünf liefert ggT zwei und possible false, weil zwei fünf nicht teilt. Kombinieren Sie die Antwort mit Ihrem eigenen Schrittgenerator, wenn Sie alle ganzzahligen Lösungen brauchen; dieser Endpunkt liefert eine partikuläre Lösung plus die allgemeine Form, keine unendliche Aufzählung. Senden Sie per POST einen JSON-Körper mit drei Pflicht-Ganzzahlen: a und b, die Koeffizienten der Kombination, und c, den Zielwert, den Sie ausdrücken möchten. Aliasse first oder m für a, second oder n für b sowie target oder rhs für c werden für formularfreundliche Clients akzeptiert. Jedes Feld darf als JSON-Zahl, Ziffernzeichenkette mit optionalem Vorzeichen oder bigint innerhalb des plattformweiten safe-integer-Absolutmaximums ankommen; Dezimalzahlen, leere Zeichenketten, fehlende Felder und Werte außerhalb dieses Bereichs scheitern mit invalid_input unter Nennung des Feldes und werden nicht abgerechnet. Das Paar a gleich null und b gleich null wird ebenfalls abgelehnt, weil eine lineare Kombination zweier Nullen keine sinnvolle Erzeugermenge für ein Ziel ist. Bei einer lösbaren Instanz enthält der Körper die zurückgespiegelten a, b und c; den nichtnegativen ggT; possible true; ganze x und y; check gleich der rekonstruierten Kombination; equation etwa fünfzehn mal vier plus fünfundzwanzig mal minus zwei gleich zehn; general_x- und general_y-Strings mit freiem Parameter t; sowie eine kurze Formel zum Teilbarkeitskriterium.
Wo ein Rechner für lineare Kombinationen echten Nutzen stiftet
Algebra- und Zahlentheorie-Kurse vergeben konstruktive Bézout-Aufgaben und lineare diophantische Gleichungen; Tutoren und LMS-Plugins brauchen einen stabilen JSON-Vertrag, der ungültige Eingabe von einem echten Fall ohne Lösung trennt, damit Bewerter leere Antworten nicht belohnen. Weil die Implementierung reines Parse-Tier-A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netz.
Technische Fragen
Was kostet der Rechner für lineare Kombinationen?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen das vorausbezahlte KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.