1 Punkte von GN⁺ 2025-05-22 | 1 Kommentare | Auf WhatsApp teilen
  • Betrachtet eine Variante der Internet-Rätsel mit Früchten und Emoji-Gleichungen als ganzzahlige diophantische Gleichung und verfolgt den Weg bis zur Konstruktion positiver ganzzahliger Lösungen
  • Das zentrale Werkzeug besteht darin, nicht direkt ganzzahlige Lösungen zu suchen, sondern zuerst rationale Punkte zu finden und mit einer geometrischen Methode über Geraden oder Tangenten neue rationale Punkte zu erzeugen
  • Nach Variablensubstitution und Rotation wird die Gleichung zu einer symmetrischen elliptischen Kurve, doch die zunächst sichtbaren einfachen Punkte führen nicht direkt zu positiven Lösungen des ursprünglichen Problems
  • Auf einer elliptischen Kurve erzeugt eine Gerade durch zwei rationale Punkte oder eine Tangente an einem Punkt einen dritten Schnittpunkt, der dank der Vieta-Formeln ebenfalls rational bleibt
  • Mithilfe von Mathematica wird ein weniger offensichtlicher Punkt gefunden; nach wiederholten Operationen entsteht beim Zurücktransformieren in die ursprünglichen Variablen eine mögliche riesige positive ganzzahlige Lösung

Wie aus einem Internet-Emoji-Rätsel ein mathematisches Problem wurde

  • Im Internet waren Emoji-Gleichungsrätsel weit verbreitet, die durch verwirrende Details wie die Anzahl der Bananen unterschiedliche Antworten provozieren sollten
  • Anfang 2017 erschien auf r/math ein reddit thread darüber, dass man die Facebook-artigen Mathe-Rätsel mit Früchten satt habe; ein Nutzer erstellte daraufhin ein schwierigeres Problem mit Fruchtbildern
  • Als Sridhar Ramesh dieses Problem leicht abwandelte und weiter verbreitete, wurde daraus ein berüchtigtes Problem, dessen kleinste Lösung als sehr lang gilt und für das Kenntnisse über elliptische Kurven nötig seien
  • Ziel ist es, den Lösungsweg für dieses abgewandelte Emoji-Problem tatsächlich nachzuvollziehen

Vorbereitendes Beispiel: pythagoreische Tripel und rationale Punkte

  • Zunächst wird als einfacheres Beispiel das Finden pythagoreischer Tripel behandelt
  • Statt direkt ganzzahlige Lösungen zu suchen, wird das Problem auf die Suche nach rationalen Punkten auf dem entsprechenden Einheitskreis zurückgeführt, wodurch die Struktur einfacher wird
  • Beginnt man mit einem rationalen Punkt auf dem Einheitskreis und zeichnet eine Gerade mit rationaler Steigung, ist auch der zweite Schnittpunkt mit dem Kreis rational
    • Berechnet man die Schnittpunkte von Gerade und Kreis, entsteht eine quadratische Gleichung
    • Da die Koeffizienten rational sind und eine Nullstelle bereits rational ist, ist nach den Vieta-Formeln auch die andere Nullstelle rational
  • Umgekehrt hat die Gerade, die einen anderen rationalen Punkt auf dem Einheitskreis mit dem Ausgangspunkt verbindet, eine rationale Steigung; daher lassen sich alle rationalen Punkte auf diese Weise gewinnen
  • Dieses Verfahren führt zur Standardform, in der alle pythagoreischen Tripel durch zwei positive ganze Zahlen und einen Faktor ausgedrückt werden
  • Das wichtige Muster ist die Methode, mit einer Geraden neue Punkte zu gewinnen; eine ähnliche Idee wird auch beim ursprünglichen Emoji-Problem verwendet

Die ursprüngliche Gleichung in eine elliptische Kurve umwandeln

  • Die Gleichung des Emoji-Problems wird nach dem Entfernen der Nenner zu einem Problem, bei dem statt ganzzahliger Lösungen rationale Punkte für Verhältnisse der Variablen gesucht werden
  • Statt unmittelbar nur positive ganzzahlige Lösungen zu suchen, wird zunächst die Gesamtheit rationaler Punkte einschließlich positiver und negativer Werte untersucht
  • Der Graph bleibt beim Vertauschen zweier Variablen unverändert und besitzt daher eine schräg liegende Symmetrie
  • Der Einfachheit halber wird der Graph durch eine Variablensubstitution rotiert, sodass er achsensymmetrisch wird; diese Kurve wird elliptische Kurve genannt
  • Es gibt einfache rationale Punkte, die man im Graphen mit bloßem Auge erkennen kann, doch sie entsprechen keinen gültigen positiven Lösungen des ursprünglichen Problems
  • Deshalb müssen von diesen einfachen Punkten aus weitere rationale Punkte erzeugt werden

Der Geraden-Trick funktioniert auch auf elliptischen Kurven

  • Zeichnet man eine Gerade durch zwei rationale Punkte (P) und (Q) auf einer elliptischen Kurve, schneidet diese Gerade die Kurve in einem dritten Punkt (R)
  • Auch dieser dritte Schnittpunkt wird zu einem rationalen Punkt
    • Setzt man die Geradengleichung in die Gleichung der elliptischen Kurve ein, entsteht eine kubische Gleichung in einer Variablen
    • Die Koeffizienten der kubischen Gleichung sind rational
    • Da bereits zwei Nullstellen aus den Koordinaten von (P) und (Q) stammen und rational sind, ist nach den Vieta-Formeln auch die dritte Nullstelle rational
    • Setzt man sie wieder in die Geradengleichung ein, sind auch die übrigen Koordinaten rational bestimmt
  • Im Fall (P=Q) verwendet man statt der Geraden durch zwei Punkte die Tangente an diesem Punkt; Schnittpunkte werden dabei mit Vielfachheit gezählt
  • Verbindet man die anfangs gefundenen einfachen Punkte oder zeichnet Tangenten an ihnen, wiederholen sich nur einige Punkte, ohne sich zu neuen und nützlichen Punkten zu erweitern
  • Diese Punkte sind torsion points; selbst bei wiederholter Anwendung desselben Geraden-Tricks kommt man aus ihnen nicht zu neuen Punkten heraus

Rationale Punkte im gültigen Bereich finden

  • Mit Mathematica wurde nach weniger offensichtlichen rationalen Punkten auf der elliptischen Kurve gesucht; einer davon wird für die weiteren Berechnungen verwendet
  • Gesucht ist nicht irgendein rationaler Punkt, sondern ein Punkt, bei dem nach der Rücktransformation in die ursprünglichen Variablen alle drei Werte positiv sind
  • Wenn alle Variablen negativ sind, kann man durch Umkehren aller Vorzeichen eine positive Lösung erhalten; daher wird eine Variable als positiv angenommen und die Bedingung rückwärts verfolgt
  • Diese Bedingung erscheint in der transformierten Koordinatenebene als bestimmter grüner Bereich; ein rationaler Punkt auf der elliptischen Kurve muss in diesen Bereich gebracht werden
  • Von Hand wäre das sehr mühsam, daher wurden mit Mathematica die Formeln für die Schnittpunktkoordinaten aus Geraden- und Tangentenoperationen berechnet
  • Es wurden Koordinatenformeln für den dritten Schnittpunkt einer Geraden durch zwei Punkte sowie für den dritten Schnittpunkt einer Tangente an einem Punkt erstellt; dabei werden die Ausdrücke sehr kompliziert und auch die Zahlen groß

Konstruktion der letzten positiven ganzzahligen Lösung

  • Ausgehend von einem rationalen Punkt wird eine Tangente gezeichnet, um einen neuen Punkt zu erhalten; dann wird am neuen Punkt erneut die Tangente gezeichnet, um den nächsten Punkt zu gewinnen, und dieser Prozess wird wiederholt
  • Auch nach mehreren Tangentenoperationen gelangt man nicht direkt in den Zielbereich; zusätzlich wird ein Punkt gebildet, indem man den Ausgangspunkt mit einem Punkt verbindet, bei dem das Vorzeichen einer Koordinate geändert wurde
  • Am Ende wird ein zuvor zurückbehaltener „guter“ rationaler Punkt mit dem zuvor erhaltenen Punkt mit großen Koordinaten verbunden, wodurch schließlich ein rationaler Punkt im grünen Zielbereich erreicht wird
  • Dieser finale rationale Punkt wird in die ursprünglichen Variablen zurücktransformiert, und durch Multiplikation mit dem kleinsten gemeinsamen Vielfachen der Nenner wird eine positive ganzzahlige Lösung konstruiert
  • In der abschließenden Probe wird bestätigt, dass die konstruierte riesige ganzzahlige Lösung die Gleichung des ursprünglichen Emoji-Problems erfüllt

1 Kommentare

 
GN⁺ 2025-05-22
Hacker-News-Meinungen
  • Es gibt eine hervorragende Quora-Antwort zu diesem Problem: https://www.quora.com/How-do-you-find-the-positive-integer-s...
    • Der Quora-Beitrag wurde von Alon Amit geschrieben; da auch der Originaltext Alon Amit zitiert, sind seine Gedanken eher eine nachträgliche Einordnung
  • In einem verwandten Zusammenhang habe ich beim Unterrichten meiner kleinen Kinder in Mathematik und beim Helfen bei den Hausaufgaben Dinge als Gleichungen umgeschrieben oder, wenn sie so weit waren, die Gleichungen selbst umgeformt
    Nur habe ich statt Dingen wie x Namen wie flauschige Wolke oder Stern verwendet; die Kinder waren zwar genervt, blieben aber interessiert und machten es später genauso, wenn sie Freunden halfen
    Man vergisst leicht, wie es sich anfühlt, Abstraktion zum ersten Mal zu lernen. Wichtig war zu zeigen, dass x nichts Besonderes ist, sondern auch die Sonne oder eine Formulierung wie „Gesamtzahl der Katzen“ sein könnte
    • In der mathematischen Kultur gibt es einen Minimalismus, und ich verstehe bis zu einem gewissen Grad, dass es hilft, beim Herumwerfen und Umstellen von Gleichungen alles möglichst kurz zu halten
      Aber wenn das später veröffentlicht wird, leidet die Lesbarkeit wirklich. Dann steht man vor Situationen wie: „In dieser Gleichung gibt es einen Term, der eine große Rolle spielt, aber was bedeutet er eigentlich? Keine Ahnung, jemand hat ihn φ genannt.“
      Ich scherze gern: Wenn man glaubt, Programmierer seien schlecht im Benennen, sollte man sich Mathematiker ansehen. Mathematiker haben einen seltsamen Stolz darauf, nicht benennen zu können
      Am schlimmsten sind Programme, die direkt aus mathematischen Papers abgeleitet sind. Wenn eine Variable einen Korrelationskoeffizienten enthält, dann nennt sie auch so. Wir haben Jahrtausende an Sprache und Zeichen, um Ideen zu teilen; verschlüsselt sie nicht und nennt sie rho
  • Ich habe das ChatGPT gegeben. Ich habe im normalen OpenAI-Interface nur das Bild hochgeladen und erwartet, dass das Modell die Aufgabe entweder bereits kennt und die richtige Antwort ausgibt, eine Antwort halluziniert oder die Lösung der Aufgabe ganz verweigert
    Tatsächlich passierte aber Folgendes: https://chatgpt.com/share/682cce62-c53c-8003-be2c-2929395868...
    Kurz gesagt: Das Modell gab selbstbewusst Schätzwerte aus, rechnete nach, stellte fest, dass sie falsch waren, versuchte es immer weiter erneut und wiederholte sogar dieselben Schätzungen. Es erkannte die Symmetrie überhaupt nicht und verhielt sich wie ein völlig strukturloser Akteur
    Am Ende behauptete es entschieden, dieses Rätsel habe keine Lösung; wenn sich das Modell auch bei künftigen Rätseln so schlecht verhält, muss ich meine Einschätzung korrigieren
    • Das Gemini-Ergebnis ist hier: https://g.co/gemini/share/ab287b25648f
      Ich habe auch ChatGPT o3 gefragt, und es hat 11,5 Minuten nachgedacht: https://chatgpt.com/share/682d0993-db4c-8004-a66c-3908ef7203...
    • Beeindruckend. Wenn man willkürlich „Zahlen, die ein Mensch im Kopf berechnen oder verstehen kann“ als vernünftige Lösungen definiert, dann gibt es definitiv keine vernünftige Lösung
      Gibt es nicht eine ChatGPT-Version, die an Wolfram Alpha angebunden ist? Ich frage mich, ob das ausprobiert wurde
  • „Ein Typ namens Sridhar Ramesh“ — Sridhar ist jemand, dem man folgen sollte. Es gibt nicht viele Leute, die einen Mathe-Doktortitel haben und zugleich auch beim Shitposting auf Doktoranden-Niveau sind
  • Ich mag dieses Genre wirklich sehr. Ich habe angefangen, es selbst „Dantzig Sniping“ zu nennen, und habe auch eines davon gemacht: https://x.com/TheOisinMoran/status/1298305686082744320
    Mehr Kontext und verwandte Beispiele gibt es hier: https://x.com/TheOisinMoran/status/1299124512240398336
    • Ich dachte, der Name komme von Gdańsk, also Danzig, und fragte mich, was dort gesnipt wurde
    • Ich frage mich, wie man Probleme mit solchen Eigenschaften findet
  • Wir haben 2025; warum verwendet der Autor für Variablennamen nicht echte Obst-Emojis?
    • Wenn ich versucht habe, komplexe C-Codebases zu verstehen, hat es oft geholfen, bestehende Variablen durch Emojis zu ersetzen
      Es wird viel einfacher nachzuvollziehen, welche Variable wo verwendet wird, und die reine Struktur des Codes lässt sich auf einen Blick besser erfassen. Ein früher gepostetes Beispiel ist hier: https://imgur.com/F27ZNfk
      Leider folgen die meisten modernen Sprachen wie Rust und JS der XID_Start/XID_Continue-Empfehlung, deren Motivation mir persönlich nicht besonders solide erscheint, und schließen alle Emoji-Zeichen aus Identifikatoren aus
    • Eine C#-Lösung von Gemini, die Obst-Emoji-Variablen verwendet und damit die Aufgabe gelöst hat. Vermutlich per Brute Force: https://imgur.com/a/cC5QPH0
    • Dieses Jahr ist zwar 2025, aber das Jahr, in dem diese Sprache entstanden ist, war vermutlich nicht 2025
  • Wenn man statt 4 eine andere Konstante verwendet, kann die kleinste Lösung eine wirklich riesige Zahl werden: https://observablehq.com/@robinhouston/a-remarkable-diophant...
    • Ich liebe diese dumme, aber großartige Methode, eine Zahl mit 120 Millionen Stellen bei Bedarf in einem kleinen textarea nachzuladen
  • Ich erinnere mich noch, als dieses Problem zum ersten Mal auftauchte. Im Zahlentheorie-Seminar haben wir alle laut gelacht
  • Es ist ja schön, bis tief in die Zahlentheorie und zu seltsamen Graphen vorzudringen, aber ich verstehe nicht, was am ursprünglichen Apfel-/Bananen-Rätsel eigentlich knifflig oder irreführend gemeint sein soll
    Gibt es daran eine Stelle, die leicht genug missverstanden wird, dass Leute sich darüber streiten, oder ist es einfach so leicht, dass alle sich beeilen, damit anzugeben?
    Ich kam auf 10, 4, 2; vielleicht habe aber auch ich etwas missverstanden
    • Der „Trick“ ist, dass im letzten Bündel nur 3 Bananen sind, während die anderen Bündel 4 haben. Ebenso gibt es in der letzten Gleichung nur eine Kokosnuss
      Daher scheint man es als 1 + 10 + 3 interpretieren zu können