Le problème des émojis (2022)
(artofproblemsolving.com)- Le problème de maths avec des émojis, devenu célèbre sur Internet, a la particularité d’admettre plusieurs réponses à cause de ses pièges
- La communauté mathématique a voulu proposer, en alternative à ce type de casse-tête, un problème réellement difficile
- Ce billet explique comment trouver des triplets pythagoriciens et la technique associée (tracer des droites)
- Dans cette version très difficile du problème à émojis, l’essentiel repose sur les courbes elliptiques et l’analyse des solutions rationnelles
- Il met l’accent sur une stratégie de recherche de solutions à l’aide d’outils mathématiques et de Mathematica
Contexte et apparition du problème de maths avec des émojis
Sur Internet, des problèmes de maths représentés par des émojis (ou des dessins de fruits, par exemple) se sont largement diffusés. Ces problèmes provoquent souvent la confusion à cause d’éléments trompeurs (par exemple, une légère différence dans le nombre de bananes), ce qui entraîne plusieurs réponses pour une même question, alimente les polémiques et favorise leur viralité. Les mathématiciens et les communautés de mathématiques se sont lassés de ce genre de problème, et en 2017, un fil est apparu sur r/math de reddit avec l’idée de « créer un vrai problème de maths illustré difficile ». Le problème présenté là-bas restait, contrairement aux versions habituelles, relativement simple si l’on cherchait des solutions entières, mais quelqu’un nommé Sridhar Ramesh l’a légèrement modifié pour en faire un problème extraordinairement difficile. Même sa plus petite solution comporte plus de 80 chiffres, et il a fini par être considéré comme nécessitant des connaissances avancées liées aux courbes elliptiques.
Un exemple accessible : trouver des triplets pythagoriciens
On commence par un problème plus simple, en expliquant une méthode exhaustive pour les triplets pythagoriciens. Au lieu de chercher des solutions entières (équation diophantienne) satisfaisant x² + y² = z², on aborde la question en cherchant des solutions rationnelles (sous forme de fractions) de x₁² + y₁² = 1.
- En posant x₁ = x/z et y₁ = y/z, le problème se transforme en la recherche de tous les points rationnels sur le cercle unité
- On peut partir d’un point comme (0,1) et imaginer qu’on trace une droite de pente rationnelle
- Le deuxième point d’intersection entre cette droite et le cercle est toujours un point rationnel
- Cela se vérifie notamment via les formules de Viète, et en fixant la pente on peut atteindre tous les points rationnels
- En résumant, les triplets pythagoriciens peuvent être caractérisés par la forme (x, y, z) = (2mn, n²–m², n²+m²) (pour des entiers positifs m et n)
- L’idée essentielle est que « si l’on trace une droite, on obtient un nouveau point »
Le problème à émojis d’origine : transformer une équation difficile en courbe elliptique
La formule centrale du problème est x/(y+z) + y/(x+z) + z/(x+y) = 4 et, après réarrangement, elle devient x³+y³+z³ = 3(x²(y+z)+y²(x+z)+z²(x+y)) + 8xyz.
- En posant x₁ = x/z et y₁ = y/z, puis en divisant l’ensemble par z³, on passe à une analyse en solutions rationnelles
- L’équation obtenue après substitution est x₁³ + y₁³ + 1 = 3(x₁²(y₁+1)+y₁²(x₁+1)+x₁+y₁) + 8x₁y₁
- Si on la visualise, le graphe de cette équation est symétrique ; en tournant convenablement les axes et en effectuant un nouveau changement de variables (x₂, y₂), on peut la réécrire sous une forme plus simple
- On aboutit finalement à l’équation suivante, de type courbe elliptique : 1 - 6x₂ - 11x₂² - 4x₂³ - y₂² + 12x₂y₂² = 0
Principe de génération de points rationnels sur une courbe elliptique
Le billet décrit la procédure consistant à choisir deux points rationnels (P, Q) sur la courbe elliptique, à tracer la droite qui les relie, puis à trouver le troisième point d’intersection R entre cette droite et la courbe.
- Les trois points (P, Q, R) ont alors tous des coordonnées rationnelles
- Grâce aux formules de Viète, à la pente de la droite et à des transformations algébriques, on peut calculer de manière cohérente ce troisième point d’intersection
- Si l’on trace la droite au même point (P=Q), elle devient une tangente, mais le même principe s’applique
- L’idée importante est que « si l’on relie deux points rationnels, on obtient encore un autre point rationnel »
Limites de la “multiplication” des points rationnels et découverte d’un point d’ordre infini
Sur la courbe elliptique, les points rationnels triviaux qu’on trouve facilement ((0,1), (-1,0), (0,-1), etc.) conduisent chacun à des résultats sans intérêt pour le problème.
- Avec ces seuls points, on ne fait que répéter des points de torsion (points d’ordre fini), incapables de produire davantage de nouveaux points rationnels
- Il faut donc un point inconnu d’ordre infini (capable de fournir une infinité de solutions)
- En utilisant des calculs informatiques avec Mathematica notamment, un nouveau point rationnel a été trouvé, par exemple de la forme (-2, 1/5) (ce point est nommé A)
- En s’appuyant sur ce point, puis sur des tangentes ou des droites passant par d’autres points, on peut engendrer de plus en plus de nouvelles solutions rationnelles complexes
Conditions pour obtenir de vraies solutions positives et calcul itératif
Pour que la solution ait un sens dans ce problème, il faut que x, y et z soient tous positifs. Dans le développement des équations, si l’on suppose z > 0, alors il faut x₁ > 0 et y₁ > 0 ; pour les coordonnées transformées (x₂, y₂), il faut satisfaire x₂ > |y₂|.
- On prend comme « zone cible » la région qui satisfait cette condition (une partie particulière du graphe), puis on répète l’astuce des droites pour atteindre des solutions rationnelles dans cette zone
- Au cours des calculs, les coordonnées x et y des points rationnels effectifs sont obtenues à l’aide d’expressions algébriques complexes (fonctions L, T et Y)
- En répétant ainsi les calculs de tangentes et de pentes de droites, on finit par atteindre des solutions énormes de plusieurs dizaines de chiffres
Conclusion
Le problème de maths avec des émojis donné semble simple, mais il exige en réalité de mobiliser activement les propriétés des courbes elliptiques et le principe de génération de points rationnels ; selon les cas, la taille numérique des solutions croît de façon exponentielle.
- Le principe simple et structurel consistant à « tracer une droite pour obtenir un nouveau point » s’applique aussi aux courbes elliptiques, sous une forme adaptée
- La recherche de solutions entières ou de solutions positives est en pratique très complexe et rend le calcul algébrique assisté par ordinateur indispensable
- La suite du billet doit poursuivre ce processus, avec des explications mathématiques plus approfondies et la description détaillée des solutions
1 commentaires
Avis Hacker News
Partage d’un lien vers une réponse Quora vraiment excellente
La réponse Quora en question est de Alon Amit, et l’article original cite aussi des propos de Alon Amit
C’est exactement le genre de chose qui représente le véritable sommet de Quora
Retour d’expérience d’une personne qui enseignait autrefois les maths à des enfants en remplaçant les formules et équations par des termes mignons et familiers comme des animaux, des nuages ou des étoiles ; au début les enfants trouvaient ça agaçant, mais cela les a finalement aidés à s’intéresser à des concepts abstraits, et ils ont ensuite réutilisé la même méthode pour enseigner à d’autres amis ; insistance sur le fait que
xn’a rien de spécial, avec le message qu’on peut utiliser n’importe quel nom à la place, comme un soleil ou une « somme de nombres de chats »φici… » ; l’idée est poussée jusqu’à dire que les mathématiciens sont encore pires que les programmeurs, pourtant déjà connus pour mal nommer leurs variables ; alors qu’on dispose de milliers d’années de langage humain et d’étiquettes, continuer à utiliser des symboles cryptiques commerhoparaît inutile ; même dans les programmes dérivés d’articles mathématiques, il faudrait employer des noms de variables qui transmettent intuitivement leur sensCompte rendu d’un essai consistant à téléverser l’image du problème à ChatGPT via l’interface OpenAI ; au départ, l’auteur s’attendait soit à ce que le modèle connaisse déjà le problème et donne la bonne réponse, soit qu’il invente n’importe quoi, soit qu’il refuse carrément de résoudre ; en pratique, il a observé un comportement où le modèle avançait avec assurance une supposition en la présentant comme correcte, puis se rendait compte après calcul qu’elle était fausse, avant de répéter la même hypothèse ; il ne parvenait même pas à reconnaître la symétrie et se comportait comme un agent non structuré ; il a fini par insister avec conviction sur le fait qu’il n’y avait pas de bonne réponse ; ce résultat était inattendu, et si le même niveau d’échec se reproduit sur d’autres énigmes à l’avenir, cela l’amènera à réviser ses croyances
Partage du résultat du même test avec Gemini, ainsi que d’un essai avec ChatGPT o3, qui a pris 11,5 minutes pour réfléchir, avec un lien vers le travail associé
C’est d’autant plus frappant qu’il n’existe apparemment aucune réponse « raisonnable » compréhensible par un humain ; il semble aussi exister une version de ChatGPT connectée à Wolfram Alpha, et l’on se demande si elle a été testée
À propos de la mention de Sridhar Ramesh, insistance sur le fait qu’il s’agit d’un talent rare, capable à la fois d’avoir un doctorat en mathématiques et d’exceller dans l’humour basé sur les mèmes d’Internet (« shitposting »)
Quelqu’un explique adorer ce type d’énigmes au point de les avoir baptisées « Dantzig Sniping » en les présentant à ses amis, et partage un lien vers un problème qu’il a lui-même créé avec son contexte associé
Réaction d’une personne disant qu’au début elle avait pensé au nom de lieu Gdańsk (Danzig) et s’était demandé ce qui avait bien pu être « snipé »
Question sur la manière dont on découvre des problèmes possédant ce genre de propriétés
En 2025, remarque humoristique pour demander pourquoi l’auteur n’utilise pas vraiment des émojis de fruits comme noms de variables
En analysant du code C complexe, quelqu’un a essayé de remplacer les noms de variables par des émojis et a constaté que cela aidait à voir d’un coup d’œil où chaque variable était utilisée et donc à comprendre la structure du code ; un exemple d’image est partagé ; malheureusement, des langages modernes comme Rust ou JS suivent la norme XID_Start/XID_Continue et empêchent l’usage d’émojis comme identifiants
Partage d’un lien vers un exemple de code C# dans lequel Gemini résout le problème par brute force en utilisant des noms de variables en émojis de fruits
Ajout plus terre à terre : nous sommes bien en 2025, mais cela ne veut pas dire que le langage en question a été créé en 2025
Si l’on remplace
4par une autre constante, on peut obtenir une solution minimale bien plus gigantesque ; partage d’un lien vers un exemple amusant d’équation diophantienne (équation à solutions entières)Souvenir partagé d’un grand éclat de rire collectif lors d’un séminaire de théorie des nombres quand ce problème est apparu pour la première fois
L’exploration approfondie de la théorie des nombres et de graphes étranges est intéressante, mais quelqu’un se demande quel était exactement le point de confusion ou le piège dans l’énigme initiale avec les pommes et les bananes ; quels étaient les éléments qui prêtaient facilement à confusion ou déclenchaient les débats, ou bien est-ce simplement tellement facile que tout le monde se précipite pour faire le malin ? Cette personne avait obtenu la réponse 10, 4 et 2, et se demande si ce n’est pas plutôt elle qui s’est embrouillée
1 + 10 + 3Astuce signalant que le paramètre de requête
srsltiddans l’URL d’un certain lien vers le problème est une valeur inutile