2021=3*x/y+3x? Meine Frage ist nun, ob es einen Algorithmus gibt mit dem man alle ganzen Zahlen (Z) für x und y findet, die diese Gleichung erfüllen?
Diese Gleichung beschreibt eine Funktion, die unendlich Wertepaare für x und y hergibt. Ich scheitere aber jedes Wertepaar x und y aus den GANZEN ZAHLEN zu finden, die diese Gleichung erfüllt.
Ich danke für das Lesen bis hierhin ;)
3 Antworten
Idee: Löse die Gleichung nach x auf. Untersuche für welche ganzen Zahlen y man mit dieser aufgelösten Gleichung einen ganzzahligen x-Wert erhält.
(Also das wäre hier quasi sowas wie ein entsprechender Algorithmus: 1. Schritt: Gleichung nach x auflösen. 2. Schritt: Untersuchen für welche ganzen Zahlen y man ganze Zahlen x erhält. 3. Schritt: Mit diesen y-Werten und der aufgelösten Gleichung jeweils den x-Wert berechnen.)
============
y = 0 ist offensichtlich nicht im Definitionsbereich und damit auch nicht Teil einer Lösung. Für y = -1 erhält man 2021 = 0, was eine falsche Aussage ist, weshalb auch y = -1 nicht Teil einer Lösung sein kann. Deshalb kann man im Folgenden y ∉ {0, -1} annehmen.
Für y ∈ ℤ ∖ {0, -1} kann man die Gleichung
nach x auflösen und erhält äquivalent zu dieser Gleichung...
Nun soll x eine ganze Zahl sein, was genau dann der Fall ist, wenn 3 ⋅ (y + 1) ein Teiler von 2021 ⋅ y ist. Insbesondere müssen 3 und y + 1 beides Teiler von 2021 ⋅ y sein.
Für y ∈ ℤ ∖ {0, -1} ist ggT(y, y + 1) = 1. Da also y und y + 1 teilerfremd sind, ist y + 1 genau dann ein Teiler von 2021 ⋅ y, wenn y + 1 ein Teiler von 2021 ist. Mit der Primfaktorzerlegung 2021 = 43 ⋅ 47 kann man schnell die Teiler von 2021 finden...
Dies sind also die einzigen Zahlen, die für y + 1 in Frage kommen. Dementsprechend erhält man dann die zugehörigen y-Werte, und daraus wiederum mit x = (2021 ⋅ y)/(3 ⋅ (y + 1)) die entsprechenden x-Werte.
[Da die Primzahl 3 kein Teiler von 2021 ist, muss 3 ein Teiler von y sein, damit 3 ein Teiler von 2021 ⋅ y ist. Damit erhält man ein weiteres Kriterium, mit welchem man die Kandidaten weiter aussortieren kann. Aber spätestens bei der Berechnung des x-Wertes merkt man dann sowieso, dass man bei entsprechend auszuschließenden Kandidaten keine ganze Zahl für x erhält, weshalb ich mir das spare und einfach den x-Wert berechne.]
- y + 1 = 1 liefert y = 0, was wegen y ∈ ℤ ∖ {0, -1} ausgeschlossen ist.
- y + 1 = -1 liefert y = -2 und x = 4042/3, wobei 4042/3 jedoch keine ganze Zahl ist.
- y + 1 = 43 liefert y = 42 und x = 658.
- y + 1 = -43 liefert y = -44 und x = 2068/3, wobei 2068/3 jedoch keine ganze Zahl ist.
- y + 1 = 47 liefert y = 46 und x = 1978/3, wobei 1978/3 jedoch keine ganze Zahl ist.
- y + 1 = -47 liefert y = -48 und x = 688.
- y + 1 = 2021 liefert y = 2020 und x = 2020/3, wobei 2020/3 jedoch keine ganze Zahl ist.
- y + 1 = -2021 liefert y = -2022 und x = 674.
Ergebnis: Die einzigen ganzzahligen Lösungen der Gleichung sind...
Offensichtlich muss 3x/y ganzzahlig sein und in der Restklasse 2 (mod 3) liegen, also 3x/y=3z+2 (z∈ℤ). So kommt man auf
673=z+x
wobei y=3x/(3z+2) ganzzahlig sein muss. Insbesondere muss dazu 3z+2 ein Teiler von x sein, also gilt |3z+2|≤|x|. Das schränkt den Wertebereich auf |3z+2|≤|673–z| ein: z∈[–337, 167] bzw. x∈[506, 1110].
Mit Durchprobieren findet man nun die ganzzahligen Lösungen
(x,y) ∈ { (658, 42), (674, -2022), (688, -48) }
___
mihisu hat mit einer etwas geschickteren Umformung dieselben Lösungen mit weniger Probieren gefunden. Das ist zweifellos eleganter; aber ich bin einfach zu alt/faul für sowas und werfe Python an, sobald ich den Suchbereich auf unter 1 Milliarde Möglichkeiten eingegrenzt habe :)
Wie wäre es wenn du das ganze in eine Geradengleichung umwandelst und dir mal die Steigung anschaust?
Wenn du gleich richtig geklammert hättest hätte ich die Antwort so nicht gegeben. Hinweis: wenn du einen Bruchstrich einfach mal eben so schreibst gehe ich davon aus dass alles folgende unter dem Bruchstrich steht. Der Brduchstrich ersetzt nämlich die Klammer.
Vollkommen richtig, finde es nur sehr unübersichtlich Gleichungen per Computer zu schreiben. Ich wollte es nur übersichtlicher machen. ;)
Tja, das war nicht nur nicht übersichtlicher, sondern mathematisch falsch. Damit sorry.
wenn man nach y umformt. Erhält man eine Funktion f(x)=3x*1/(2021-3x)
Die Idee ist nicht schlecht, leider weiß ich noch nicht wie mir das weiterhelfen soll.