x^3 y^3 z^3 = 33
Tiedetään että x on positiivinen kokonaisluku ja y on negatiivinen kokonaisluku ja
z = -2736111468807040
x on itseisarvoltaan suurin ja z on itseisarvoltaan pienin. Laske x ja y käyttäen vain lukion perustietoja ja kokonaislukuja ymmärtäviä laskimia ja hiiren copy-pasteja.
Tehtävä on erittäin helppo ja tarkoitus on ratkaista se mahdollimman helposti ilman mitään ohjelmia tai matematiikan jatko-opintoja. Ne voi unohtaa!
Tiedetään että x on positiivinen kokonaisluku ja y on negatiivinen kokonaisluku ja
z = -2736111468807040
x on itseisarvoltaan suurin ja z on itseisarvoltaan pienin. Laske x ja y käyttäen vain lukion perustietoja ja kokonaislukuja ymmärtäviä laskimia ja hiiren copy-pasteja.
Tehtävä on erittäin helppo ja tarkoitus on ratkaista se mahdollimman helposti ilman mitään ohjelmia tai matematiikan jatko-opintoja. Ne voi unohtaa!
Vastaukset 11
Vanhimmat
Helpointa on katsoa youtubesta hakusanalla numberphile niin ei tarvitse ymmärtää asiasta mitään.
Tuo näyttäisi ratkeavan ihan kirjan mukaan tekijöihin jakamalla:
x^3 y^3 = 33 - z^3
(x y)(x2 - xy y2) = 61 * 157351 * 87723532425289 * 24326851598612426078122027
(x y):n arvo on oltava joku noista kolmesta pienimmästä tekijästä tai kahden pienimmän tulo. Kokeillaan ensin x y = 87723532425289 eli y = 87723532425289 - x
Sijoitetaan y ja z annettuun yhtälöön. Supistuu yksinkertaiseksi toisen asteen yhtälöksi. Siitä saaadaan muutamalla copy-pastella ratkaisuksi
x = 8866128975287528
y = -8778405442862239
Tarkistetaan laskimella:
8866128975287528^3 - 8778405442862239^3 - 2736111468807040^3 = 33
Jos oikein laiskottaa eikä osaa ratkaista toisen asteen yhtälöä, voi annetun yhtälön ratkaista suoraan esim. wolfram alphalla:
x^3 (87723532425289-x)^3-2736111468807040^3-33=0
https://www.wolframalpha.com/input/?i=x^3 (87723532425289-x)^3-2736111468807040^3-33=0
x = 8866128975287528
y = -8778405442862239
Oikeasti z:n arvoa ei tietystikään tiedetä. Sitä haetaan kokeilemalla eri tavoin suodatetuilla kelvollisilla |x y|:n arvoilla. Ratkaisussa |x y| = 87723532425289. Sen avulla voidaan laskea kuutiojuuri modulon kaavasta z:lle mahdollisia arvoa.
z^3 ≡ -33 (mod 87723532425289 )
https://www.wolframalpha.com/input/?i=z^3 ≡ -33 (mod 87723532425289 )
Saaduista komesta juuresta pienimmällä (ja n=31) saa annetun yhtälön toteuttavan z:n arvon. Koska z:n on oltava parillinen (33 ja |x y| parittomia), riittää kokeilla vain parittomia n:n arvoja.
-z = 16681963623081 31*87723532425289 = 2736111468807040
Andrew Booker hyödynsi (modulaarisen) matematiikan ja ohjelmoinnin syvällistä osaamistaan muita paremmin ja pyrki kaikessa minimoimaan hankalien laskutoimitusten määrän erilaisilla älykkäillä kaavojen pyörittelyillä ja optimoiduilla ohjelmilla. Onneakin tietysti tarvittiin, sillä ratkaisuun olisi voinut yhtä hyvin mennä kolme vuotta tai pitempäänkin kolmen viikon (15 core-years) asemasta. Sen ovat kymmenet muut kokeneet! Ja nyt hänellä haussa oleva ratkaisu 42:lle ei varmasti löydy ihan yhtä nopeasti hänen menetelmällään haetusta lukuavaruudesta. Hänellä on käytössä vain 250 ydintä yliopiston supertietokoneessa. Joku muu saattaa ehti ennen.
Täytyy sanoa, että 70-luvulla ei ollut matematiikassa Helsingin yliopistossa tuollaisia tehtäviä. Hiukan opiskelin vielä v. 1980 ja 1981. Minun kurssivalintani eivät ainakaan tukeneet tällaisien ratkaisemista cum laude ja laudatur tasoilla (siis aineopinnot ja syventävät opinnot oli kai jossain vaiheessa nimitys noille opintolaajuuksille).
Onko noilla muka jotain käytännön sovelluksia?
Mitä keskustelujen perusteella ymmärrän, niin jollain tietokoneohjelmilla ja laskimilla niitä ratkaistaan. Ennen opiskeltiin aika paljon teoriaa ja vaadittiin lauseiden todistamisia. Kyllähän funktiolaskimia oli jo 70-luvulla käytössä, sanoisin jo 70-luvun alkupuolellakin.
Kyllä jo ennen sinunkin syntymää, kolmen kuution summia laskettiin kaikkialla. Ja niihin kulutettiin nykyista paljon enemmän aikaa.
Tiedät varmasti, että sinunkin opiskeluaikana opiskelijoille opetettiin alle promille silloisesta matematiikan tietämyksestä. Lisenssiaatti ja tohtoritason opinnoissa päästin yhteensä koko Sumessa ehkä pariin prosenttiin. Varsinainen oppiminen tapahtui vasta oman tutkimusuran aikana. Ja jos ei ole mitään matematiikan alaa tutkinut työkseen, ei kovin paljoa voikaan tietää.
Matematiikka ja tietokoneet kehittyvät samaa tahtia. Ilman tietokoneita monet matematiikan alat olisivat vain yksittäisten nerojen ymmärrettävissä ja sovellettavissa johonkin käytännön ongelmaan. Ja usein ne kaikkein tyhmimmät ja turhimmat kokonaislukulaskut vaativat kaikkein monimutkaisinta ja vaikeimmin ymmärrettävää matematiikkaa.
Kokeilkaa muuttaa löydettyjä lukuja vuorotellen aina yhdellä ja yrittäkää saada summan itseisarvoksi alle triljoona (10^18). Toistakaa kunnes nukahdatte.
8866128975287528^3 - 8778405442862239^3 - 2736111468807040^3
Kaava voidaan (yrittää!) esittää myös ihan geometrisena 3D-kappaleena, jossa korkeuserot ovat täysin käsittämättömiä piikkejä nollatason ylä- ja alapuolella. Nollatasoa lähelläkään ei ole yhtikäs mitään, muutamaa äärimmäisen harvinaista poikkeusta lukuunottamatta.
Joko kuulitte uutiset: 42 löytyvä pamahti!
https://www.youtube.com/watch?v=zyG8Vlw5aAw
Ja myös 795 löytyi pari kuukautta sitten. Ja ehkä osa muistakin alle tuhanen luvuista on jo nyt löytynyt, vaikkei tuloksia ole vielä julkaistu (julkisesti).
https://link.springer.com/article/10.1007/s40993-019-0162-1
Matemaattisesti suoraviivainen ja yksinkertainen tehtävä. Voidaan jakaa miljoonille yksittäisille täysin erillisille prosessoreille. Kaikki onnistuu lukiotason laskutoimituksilla. Niitä vaan on hirvittävän kamalan suuri määrä.
Käymällä läpi ehdot täyttäviä d:n (|x-y|) arvoja jonkun tietokoneen jollekin prosessille tuli seuraavaksi d:n arvo 102980666258459. Siitä saadaan kuutiojuuri moduloksi z0 = 38482013803633. (Kaksi muuta saatua juurta eivät johda ratkaisuun.)
Koska d modulo 18 on 17, z modulo 18 on oltava 11. (18 luvun taulukko). Haetaan ensimmäinen sopiva z1 = z0 n*d. Kun n on 14, ehto toteutuu ja z1 = 1480211341422059. Nyt aloitetaan ratkaisuun johtavan z:n haku z = z1 n*18*d. Kun n on 6, z = 12602123297335631 ja x:lle löytyy kokonaislukuarvo. Ja alkuperäinen yhtälö ratkeaa!
Paljon pientä näpertelyä suhteellisen pienillä paljon alle 64-bit luvuilla ja helpoilla ja nopeilla optimoiduilla laskutoimituksilla. Tärkeintä on karsia jo heti alkuvaiheessa pois kaikki mahdottomat d:n arvot. Esim. d ei saa olla jaollinen luvuilla 3, 4, 13, 19, 31, 37, 49,... Ei löydy juurta. Jos d on parillinen, sen modulo 24 on oltava 10 tai 14. Jos d on jaollinen 7:llä, vain kolme d modulo 49 arvoa on mahdollisia. Booker on keksinyt varmasti paljon muutakin.
Jos+ei+halua+n%C3%A4perrell%C3%A4+pienill%C3%A4+luvuilla%2C+tuon+voi++laskea+my%C3%B6s+perinteisell%C3%A4+tavalla+k%C3%A4ytt%C3%A4en+d%3An+sijasta+t%3At%C3%A4+%28t+%3D+%7Cy%2Bz%7C%29.+Ongelmana+on+tietysti+se%2C+ett%C3%A4+noita+t%3An+arvoja+on+n.+8+kertainen+m%C3%A4%C3%A4r%C3%A4+ja+niiden+alkutekij%C3%B6iden+haku+on+hitaampaa+eik%C3%A4+t%C3%A4ll%C3%B6in+voi+my%C3%B6sk%C3%A4%C3%A4n+hy%C3%B6dynt%C3%A4%C3%A4+sit%C3%A4+tosiasiaa%2C+ett%C3%A4+x+ja+y+ovat+nimellisarvoiltaan+eritt%C3%A4in+usein+suhteellisen+l%C3%A4hell%C3%A4+toisiaan.+Jos+eiv%C3%A4t+olisi+olleet%2C+niin+42%3An+laskenta+jatkuisi+viel%C3%A4+muutaman+kuukauden.%3Cbr+%2F%3E%3Cbr+%2F%3Et+%3D+%7Cy%2Bz%7C+%3D+93037881443153146+.+Tuon+kun+sijoittaa+vaikka+Wolfram+Alphaan%2C++saa++x%3An+arvon.++%3Cbr+%2F%3E%3Cbr+%2F%3Ehttps%3A%2F%2Fwww.wolframalpha.com%2Finput%2F%3Fi%3Dx%5E3%2B%E2%89%3Cbr+%2F%3E%A1%2B-42%2B%28mod%2B%2893037881443153146%29%2B%29%3Cbr+%2F%3E%3Cbr+%2F%3EV%C3%A4%C3%A4r%C3%A4pariteettiset+ja++liian+pienet+arvot+voi+hyl%C3%A4t%C3%A4.+Ja+tietysti+v%C3%A4%C3%A4r%C3%A4t++x%3An+modulo+18+arvot.+K%C3%A4yt%C3%A4nn%C3%B6ss%C3%A4+vain+muutama+prosentti+p%C3%A4%C3%A4see+jatkok%C3%A4sittelyyn.+R%C3%A4%C3%A4t%C3%A4l%C3%B6im%C3%A4ll%C3%A4+isojen+lukujen+kuutiojuurimoduloiden+laskennassa+tarvittavaa+kiinalaista+j%C3%A4%C3%A4nn%C3%B6slausetta+huomioimaan+kaikki+reunaehdot+automaattisesti+ja+keskeytt%C3%A4m%C3%A4ll%C3%A4+laskenta+heti%2C+jos+yksikin+ehto+ei+en%C3%A4%C3%A4+toteudu%2C+saattaisi+ehk%C3%A4+p%C3%A4%C3%A4st%C3%A4+saamaan+nopeuteen+kuin+d%3At%C3%A4+k%C3%A4ytt%C3%A4en.