Delta 5/2024

Jej wysokość krzywa eliptyczna

Internet jest pełen krzykliwych haseł mających przyciągnąć uwagę użytkownika. Lekarze nie chcą, byś poznał cudowne własności tego wodorostu!, Ta prosta sztuczka pozwoli ci zarabiać miliony bez wychodzenia z łazienki!, Mężczyzna próbował podzielić przez zero, zobaczcie, co się stało dalej! – to tylko wymyślone na poczekaniu przykłady, wcale nieodległe od pierwowzorów. Wśród tych fraz szczególne miejsce zajmują te rachunkowo-logiczne, rozpoczynające się od K% ludzi tego nie rozwiąże!, gdzie K[90,100). Przyjrzyjmy się jednemu z takich clickbaitów, przedstawionemu na marginesie – sprawdźmy, czy jako osoby o ścisłych inklinacjach znajdujemy się w chlubnych (100K)% populacji.

Dla Czytelników Delty nie ma niestety żadnych jabłek, bananów i ananasów – są za to całkowite dodatnie liczby x,y,z, które mają spełniać równanie (1)xy+z+yz+x+zx+y=4. Czy takie istnieją? Szukając jakichkolwiek rozwiązań, możemy zastanowić się najpierw, czy nie istnieją takie, które spełniają pewne upraszczające założenia. Gdy x=y=z, nasze równanie sprowadza się do postaci 32=4, zatem wtedy rozwiązań nie ma. Z kolei gdy przyjmiemy tylko x=y, to (1) sprowadza się do równania kwadratowego ze względu na z, którego rozwiązanie to z=12(7±65)x. Oznacza to, że wtedy również brak rozwiązań całkowitych (liczby xz nie mogą być jednocześnie całkowite). A czy któraś z tych liczb może być równa 0? Niestety nie – gdyby na przykład zachodziła równość x=0, to (1) ponownie stałoby się równaniem kwadratowym z rozwiązaniem z=(±2+3)y, co również jest niemożliwe dla liczb całkowitych y,z. Podstawowe próby uproszczenia równania dodatkowymi założeniami spełzły zatem na niczym.

Bywa, że umysłowa ekwilibrystyka musi ustąpić brutalnej sile. Nietrudno napiszemy prosty skrypt, który przejrzy wszystkie trójki liczb całkowitych dodatnich od 1 do, powiedzmy, 100 i sprawdzi, czy spełniają one równość (1). Okazuje się, że taki program nie znajdzie żadnego rozwiązania w tym zakresie. Jeśli z ciekawości pozwolimy mu przeglądać liczby ujemne (o module nie większym niż 100), to z dokładnością do kolejności oraz skalowania dostaniemy dwa rozwiązania: (1,4,11), (5,9,11). Wspomniane skalowanie wiąże się z obserwacją, że jeśli (x,y,z) jest rozwiązaniem (1), to jest nim również (ax,ay,az) dla a0 – w naszych poszukiwaniach możemy zatem ograniczyć się do trójek, których największy wspólny dzielnik jest równy 1.

Problem z naszym podejściem polega na tym, że złożoność takiego prymitywnego programu (tzn. liczba trójek liczb do sprawdzenia) zwiększa się sześciennie wraz z wielkością zakresu. Przy odrobinie cierpliwości moglibyśmy zatem w ten sposób poszukać rozwiązań w przedziale od 1 do 1000, ale już przedział [1,104] pozostaje raczej poza możliwościami zwykłego laptopa. Przy odrobinie pomysłowości możemy jednak uzyskać z grubsza kwadratowy koszt przeszukiwań i w ten sposób przekonać się, że nie istnieją rozwiązania w tym przedziale. Cóż, jeśli tak proste równanie jak (1) nie ma rozwiązań całkowitych w tak szerokim zakresie, to na pewno nie ma ich w ogóle – a cała zagadka jest pomyłką albo złośliwym żartem.

Okazuje się, że owszem mamy do czynienia ze złośliwym żartem, ale bardziej przewrotnym niżby mogło się nam wydawać – otóż wyjściowe równanie istotnie ma rozwiązania w liczbach całkowitych dodatnich, przy czym najmniejsze z nich jest postaci: x= 4373612677928697257861252602371390152816537558161613618621437993378423467772036,y= 154476802108746166441951315019919837485664325669565431700026634898253202035277999,z= 36875131794129999827197811565225474825492979968971970996283137471637224634055579, gdzie x ma aż 79 cyfr! Jak można odnaleźć tak ogromne rozwiązania i skąd wiadomo, że nie ma mniejszych? Temu zagadnieniu poświęcona będzie dalsza część artykułu.

Trójki różnych od zera liczb całkowitych (x,y,z), których największy wspólny dzielnik jest równy 1, można jednoznacznie zakodować jako pary (u,v), gdzie u=x/zv=y/z. Po takim zabiegu równanie (1) staje się równaniem dwóch zmiennych następującej postaci: (2)(u+v)36uv(u+v)3(u+v)23(u+v)+uv+1=0. Jest to równanie pewnej krzywej C stopnia 3, przedstawionej na rysunku 1. Zaznaczono na niej punkty P=(9/5,11/5)Q=(1/4,11/4) odpowiadające rozwiązaniom (9,11,5)(1,11,4) równania (1). Kolorem oznaczono te fragmenty krzywej C, które leżą w I ćwiartce. Jeśli znajdziemy na tym kolorowym fragmencie punkt o współrzędnych wymiernych – odtąd punkty takie będziemy nazywać wymiernymi – będzie on odpowiadał dodatniemu rozwiązaniu (1). Tylko jak takich punktów szukać? Z pomocą przyjdzie nam… geometria! Okazuje się bowiem, że

()   jeśli prosta o nachyleniu różnym od 1 przecina krzywą C w dwóch różnych punktach wymiernych PQ, to przecina ją jeszcze w dokładnie jednym punkcie wymiernym R.

Dowód tego faktu wynika z zastosowania wzorów Vièta po wstawieniu do (2) liniowej zależności v=αu+β. Szczegóły uzasadnienia zamieszczone są na końcu artykułu – jest tam również przedstawiony jawny wzór pozwalający wyznaczyć współrzędne punktu R w zależności od współrzędnych PQ.

Dla przykładu, jeśli na rysunku 1 poprowadzimy prostą przez punkty P i Q, to przetnie ona krzywą C w jeszcze jednym punkcie R o współrzędnych (9071/9841,5951/9841). Daje nam to kolejne całkowite rozwiązanie (1) (x=9071, y=5951z=9841), które jednak wciąż nie jest dodatnie.

Na pierwszy rzut oka na tym kończy się nasza przygoda z generowaniem nowych punktów – każda prosta ma co najwyżej trzy punkty przecięcia z krzywą C. Z pomocą przychodzi nam operacja wręcz trywialna – zamiana współrzędnych miejscami! Jeśli (u,v) spełnia równanie (2), to (v,u) również je spełnia. Jeśli zatem punkt R leży na C, to symetryczny do niego względem prostej u=v punkt R również – i, rzecz jasna, on też ma współrzędne wymierne (rys. 2). Te dwie operacje: branie trzeciego punktu przecięcia z C oraz zamiana współrzędnych miejscami, pozwalają nam wygenerować dowolnie wiele punktów wymiernych. Pozostaje nam mieć nadzieję, że w końcu trafimy w ten sposób na punkt o współczynnikach dodatnich.

Przeprowadźmy poszukiwania w sposób systematyczny. Dla ułatwienia notacji wyżej przedstawioną konstrukcję punktu R z punktów PQ oznaczmy jako m(P,Q). Z powodów, które staną się zrozumiałe później, wprowadźmy leżący na krzywej C punkt T=(1,1) i przyjmijmy oznaczenia P1=m(T,P) oraz Pn+1=m(Pn,P). Zgodnie z wcześniejszymi obserwacjami wszystkie punkty Pn leżą na krzywej C. Możemy kolejno obliczać ich współrzędne (raczej przy pomocy komputera), aż w końcu… Udało się! Punkt P9 ma obie współrzędne dodatnie, a więc wyznacza nam pewne dodatnie rozwiązanie naszego oryginalnego problemu (1). Jest to dokładnie to gigantyczne rozwiązanie, które przedstawiliśmy wcześniej – jak widać, potrzeba sporo jabłek…

Zaskakujące jest to, że każda z liczb x,y,z tego rozwiązania ma około 80 cyfr. Z pewnością takiego rozwiązania nie znaleźlibyśmy ręcznie. Pozostają więc pytania:

  1. Czy można znaleźć mniejsze (w sensie maksimum) rozwiązanie?

  2. Czy wykorzystana operacja m(P,Q) ma jakiś głębszy sens?

  3. Czy i kiedy znajdziemy ,,małe” rozwiązanie początkowe w ogólnej sytuacji?

W dalszej części spróbujemy – na tyle, na ile jest to możliwe – uzasadnić negatywną odpowiedź na pytanie (A). Wykorzystamy do tego strukturę grupy związaną z odpowiedzią na pytanie (B) i zakończymy bardzo trudnymi pytaniami matematycznymi, które wiążą się z odpowiedzią (wciąż niepełną!) na pytanie (C).

Przyjrzyjmy się uważniej operacji m(P,Q). Wiemy już, że nie wyprowadza ona poza zbiór punktów C o wymiernych współrzędnych. Jest też w oczywisty sposób symetryczna, tzn. m(P,Q)=m(Q,P). Okazuje się, że ma jeszcze inną przydatną, choć niełatwą w uzasadnieniu własność: dla dowolnych punktów P,Q,R na C zachodzi: m(m(P,Q),R)=m(P,m(Q,R)). W fachowej terminologii oznacza to, że jest to operacja łączna, i dzięki wcześniejszej symetrii możemy o niej myśleć jak o zwykłym działaniu, takim jak na przykład dodawanie. Przeszkadzać może odrobinę, że operacja m(P,Q) zdefiniowana była dla różnych punktów PQ (by można było poprowadzić przez nie prostą). Chcąc zdefiniować m(P,P), możemy jednak pomyśleć o granicy m(P,Rn), gdzie Rn jest ciągiem punktów na C zbiegających do P. Wówczas w pierwszym kroku operacji m zamiast prostej przechodzącej przez dwa punkty bierzemy styczną do C w punkcie P (rys. 3). Inna trudność pojawia się, gdy chcemy wykonać operację m(P,Q) na dwóch punktach symetrycznych względem prostej y=x. Z dowodu stwierdzenia (), zamieszczonego na końcu artykułu, wynika, że nie istnieje wtedy trzeci punkt przecięcia prostej PQ z krzywą C. Jeśli powiemy, że wówczas wynikiem zawsze ma być pewien abstrakcyjny punkt O, o który wzbogacamy krzywą C (można o nim myśleć jako o punkcie definiującym kierunek (1,1)), to już nic nie stoi na przeszkodzie, aby myśleć o m jako o porządnym ,,dodawaniu” punktów na krzywej C – od tej pory przyjmujemy zatem oznaczenie P+Q:=m(P,Q). Pozwala nam to też mnożyć punkty przez liczby całkowite: dla nN punkt nP to efekt n-krotnego dodania do siebie punktu P, zaś nP to odbicie symetryczne nP względem prostej u=v. Zdefiniowane w ten sposób działanie dodawania punktów krzywej trzeciego stopnia daje w rezultacie strukturę grupy nazywaną krzywą eliptyczną.

Wspominaliśmy już, że rozwiązania równania (1) można ograniczyć do trójek liczb (x,y,z), których największy wspólny dzielnik jest równy 1. Warto tu zaznaczyć, że wówczas liczby x,y,z są parami względnie pierwsze. Istotnie, równanie (1) można sprowadzić do postaci x3+y3+z33x2y3x2z3xy23xz23y2z3yz25xyz=0, z której wynika, że każdy wspólny dzielnik pierwszy dowolnych dwóch spośród liczb x,y,z dzieli też trzecią z tych liczb, więc również największy wspólny dzielnik całej trójki – czyli 1. Ta obserwacja oznacza również, że jeśli współrzędne dowolnego wymiernego punktu (u,v) krzywej C przedstawimy w postaci nieskracalnej, to będzie to postać (x/z,y/z), tłumacząca się bezpośrednio na rozwiązanie (x,y,z) równania (1).

Wprowadzimy teraz pewną ciekawą funkcję, nazywaną wysokością. Dla wymiernego punktu P=(u,v) definiujemy h(P)=log10(max{|a|,|b|}), gdzie ab jest nieskracalną postacią u+v. Na przykład dla P=(9/5,11/5) otrzymujemy zatem h(P)=log104. Zauważmy, że jeśli P=(x/z,y/z) ma współrzędne dodatnie, to h(P)log10(max{x+y,z}), zatem h(P)log10(2max{x,y,z}). Z dokładnością do log10(2)0,3 funkcja h ogranicza więc z dołu liczbę cyfr największej spośród liczb x,y,z – może być zatem użyteczna dla badania fenomenu ogromnego rozwiązania równania (1).

Zachodzi następujące ciekawe twierdzenie: dla każdego punktu P wymiernego na krzywej C istnieje granica ciągu (h(2nP)4n). Oznaczamy tę granicę przez h^(P) i nazywamy wysokością kanoniczną. Jak zostało udowodnione przez André Nérona i Johna Tate’a (na dwa różne sposoby!):

  1. h^(nP)=n2h^(P) (tzn. h^(P) jest formą kwadratową);

  2. h^(P+Q)+h^(PQ)=2h^(P)+2h^(Q) dla dowolnych punktów P,Q (tzw. prawo równoległoboku);

  3. istnieje stała κ>0 taka, że |h(P)h^(P)|<κ niezależnie od wyboru punktu P.

Uzbrojeni w takie nowe narzędzia możemy teraz bez trudu wyjaśnić, dlaczego skonstruowany wcześniej punkt P9=9P+T tłumaczył się na tak monstrualnej wielkości rozwiązanie równania (1). Można sprawdzić, że 3T=(1,1) (rys. 4) oraz 2(1,1)=O, zatem 6T=O i dlatego zgodnie z własnością (a) zachodzi h^(T)=136h^(O)=0. Z prawa równoległoboku wynika zatem, że dla dowolnego punktu S oraz iN zachodzi: h^(S+(i+1)T)+h^(S+(i1)T)=2h^(S+iT). Oznacza to, że ciąg (h^(S+iT))i jest ciągiem arytmetycznym. Z drugiej strony S+6T=S, zatem jest to jednocześnie ciąg okresowy, więc musi być ciągiem stałym. Wstawiając S=9P, dostajemy h^(9P+T)=h^(9P), i ponownie własność (a) implikuje h^(9P)=81h^(P). Zgodnie z (c) możemy zatem zapisać h(9P+T)81h(P) (Błąd przybliżenia κ nie zależy od wyboru punktu, a jedynie od samego równania krzywej C!) Można to zinterpretować w taki sposób, że liczba cyfr największej liczby w nieskracalnym zapisie 9P+T wzrosła około 81 razy w stosunku do analogicznej liczby cyfr dla punktu P. Zauważmy, że ta jakościowa analiza bardzo dobrze odpowiada uzyskanym przez nas dokładnym wynikom.

Ale skąd wiemy, że punkt 9P+T jest najmniejszy w sensie liczby cyfr, który dopuszcza dodatnie rozwiązania? Odpowiedź kryje się w twierdzeniu udowodnionym przez Luisa Mordella w 1922 roku. Aby sformułować je w pełnym brzmieniu, zdefiniujmy rząd punktu S jako najmniejszą liczbę naturalną n taką, że nS=O (jeśli takiej liczby nie ma, przyjmujemy rząd równy ). Twierdzenie Mordella głosi, że na krzywej eliptycznej istnieje skończony zbiór punktów T1,Tk (skończonego rzędu) oraz P1,,Pr (rzędu nieskończonego) taki, że każdy punkt wymierny zapisuje się jako suma iaiPi+kbkTk, gdzie ai,bk są liczbami całkowitymi. Dla każdego punktu liczby te są wyznaczone jednoznacznie. Liczbę r nazywamy wówczas rangą krzywej eliptycznej C, a punkty PiTk jej generatorami.

W przypadku naszej krzywej C dodatkowe rachunki algebraiczne (zdecydowanie wykraczające poza ramy tego artykułu) pozwalają udowodnić, że każdy punkt wymierny jest postaci kP+lT. Zatem każdy punkt wymierny na naszej krzywej ma wysokość kanoniczną równą h^(kP+lT)=k2h^(P), odpowiadającą w przybliżeniu ,,zwykłej” wysokości. Pozostaje więc tylko upewnić się, że wszystkie punkty kP+lT dla 9<k<9 oraz 0l5 nie mają obu współrzędnych dodatnich (ograniczenie na l wynika z faktu, że 6T=O).

W ten sposób nasze rozważania prowadzą do jednego z najsłynniejszych problemów w matematyce, czyli hipotezy Bircha–Swinnertona–Dyera. Postuluje ona istnienie efektywnego algorytmu wyznaczającego generatory punktów na krzywej eliptycznej. Dodatkowo hipoteza ta – jeśli jest prawdziwa – pozwala opisać związek między wysokościami punktów generujących i arytmetyką samej krzywej eliptycznej. Przy założeniu, że ranga krzywej eliptycznej wynosi 0 lub 1, hipoteza BSD została udowodniona dla nieskończenie wielu krzywych eliptycznych.

Na koniec polecamy Czytelnikom interesujące eksperymenty. Możemy poszukiwać ,,prostego” (minimalnego w sensie wysokości) rozwiązania równania (1), w którym liczba 4 została zastąpiona inna liczbą wymierną. Są częściowe wyniki na ten temat, więcej informacji można znaleźć w artykule []. Okazuje się, że generatory krzywej eliptycznej mogą być naprawdę ogromne!

Uzasadnienie stwierdzenia ().

Zastanówmy się, ile punktów wspólnych może mieć krzywa C z prostą. Taka prosta może mieć równanie postaci v=αu+β dla α,βR. Wstawiając tę zależność do (2), dostaniemy wielomian zmiennej u, którego początkowe wyrazy wyglądają następująco: Wα,β(u)=(α33α23α+1)u3                                     (3)+(3α2β3α26αβ5α3β3)u2+(). Jest to wielomian 3 stopnia, który może mieć co najwyżej 3 pierwiastki – oznacza to, że punkty przecięcia są również co najwyżej trzy. Ponadto z podstawowej teorii dotyczącej wielomianów (twierdzenie Bézouta) wynika, że jeśli istnieją dwa różne pierwiastki, to istnieje też trzeci – o ile tylko α1, gdyż wówczas (2) degeneruje się do wielomianu stopnia 2. Zatem jeśli prosta przechodząca przez punkty PQ leżące na C ma nachylenie różne od 1, to przecina krzywą C w jeszcze jednym punkcie R.

Zastanówmy się, jak mając współrzędne punktów P=(uP,vP)Q=(uQ,vQ), można wyznaczyć współrzędne (uR,vR) punktu R. Prosta przechodząca przez punkty PQ ma równanie v=αu+β,gdzie α=vPvQuPuQ oraz β=vPαuP. Liczby uP,uQ,uR są zatem pierwiastkami równania Wα,β(u)=0. Zgodnie ze wzorami Vièta ich suma jest równa a2a3, gdzie ai to współczynnik stojący przy ui w wielomianie Wα,β. Oba te współczynniki przedstawiliśmy w (3), co daje nam wzór jawny (choć bardzo skomplikowany) na uR: uR=3α2β3α26αβ5α3β3α33α23α+1uPuQ i dalej vR=αuR+β. Z powyższego wzoru wynika, że jeśli liczby uP,vP,uQ,vQ są wymierne, to liczby uR,vR również.