
Sum-of-Three-Cubes Problem Solved for ‘Stubborn’ Number 33 - furcyd
https://www.quantamagazine.org/sum-of-three-cubes-problem-solved-for-stubborn-number-33-20190326/
======
heinrichf
Numberphile video on the topic with Andrew Booker:
[https://www.youtube.com/watch?v=ASoz_NuIvP0](https://www.youtube.com/watch?v=ASoz_NuIvP0)

which is a followup from the 2015 episode
[https://www.youtube.com/watch?v=wymmCdLdPvM](https://www.youtube.com/watch?v=wymmCdLdPvM)
when the 33 problem was unsolved.

The announcement elicited this Mathoverflow discussion about "mic drop"
moments in mathematics: [https://mathoverflow.net/questions/325105/what-are-
some-note...](https://mathoverflow.net/questions/325105/what-are-some-
noteworthy-mic-drop-moments-in-math)

~~~
jhncls
Some additional links: Sander Huisman's 2016 paper about solving the three
cubes problem for 74, using a supercomputer in Lyon [0]. The approach for 33
is quite similar, just augmenting the range searched (and some additional
tricks to further reduce the search space).

Andrew Booker's paper about 33 [1].

It's quite funny how Numberphile inspired these searches.

[0] [https://arxiv.org/abs/1604.07746](https://arxiv.org/abs/1604.07746)

[1]
[https://people.maths.bris.ac.uk/~maarb/papers/cubesv1.pdf](https://people.maths.bris.ac.uk/~maarb/papers/cubesv1.pdf)

------
waynecochran
Interesting that the second number is prime and the others have very large
prime factors (only 5 and 4 distinct prime numbers for 1st and 3rd numbers
respectively):

    
    
         (8,866,128,975,287,528)³ + 
        (–8,778,405,442,862,239)³ + 
        (–2,736,111,468,807,040)³ = 33
    
        696950821015779435648178972565490929714876221952 -
        676467453392982277424361019810585360331722557919 -
         20483367622797158223817952754905569383153664000 = 33

~~~
ckuhl
In a way it makes sense - if the numbers all had smaller prime factors, they
probably would have been found sooner than now, and so wouldn't be as
remarkable

------
joemag
I had to pause for a second to think about what’s so hard about this? And then
it hit me - negative numbers.

------
WMCRUN
The last unsolved integer under 100 is 42...

~~~
lurcio
Spooky.

~~~
stebann
Haha Nice!

------
mikepurvis
Can someone ELI5 what the issue is with numbers that have a remainder of 4 or
5 after being divided by 9? I'm assuming it's something simple that I'm just
not seeing, and having trouble googling for it.

~~~
OscarCunningham
The only possible values of a cube mod 9 are 0, 1 and 8. (If you expand
(9n+r)^3 you'll see that all the terms divide by 9 except r^3. So the value of
a cube mod 9 depends only on its own mod 9 value. So we only need to check
that 0, 1 and 8 are the only values achieved by the first 9 cubes.) If you add
three of these values the only possible answers are 0, 1, 2, 3, 6, 7 and 8 mod
9.

------
empath75
Anybody have an idea of how much it would cost to have done this search on
AWS?

~~~
dalbin
At $0.0425/core/hour for Compute-Optimized instances (c5), 23 core-years costs
$8562.9

~~~
eclipxe
That's...not bad

------
yitchelle
Does anyone know of a useful application for this fact? Serious question.

~~~
mjcohen
The mathematician Edmund Landau said (translation from German): Number theory
is useful, since one can graduate with it.

(from his Foreword to Vorlesungen über Zahlentheorie (Lectures on Number
Theory) (1927).)

This from
[https://en.wikiquote.org/wiki/Edmund_Landau](https://en.wikiquote.org/wiki/Edmund_Landau)

------
nodesocket
> other times, a solution is known not to exist, as with all whole numbers
> that leave behind a remainder of 4 or 5 when divided by 9

Curious how we are able to prove that and with certainty say this is a rule?

~~~
mjcohen
Off the top of my head: the cubes of 0,1,2,3,4,5,6,7,8 mod 9 are
0,1,-1,0,1,-1,1,-1.

The sums of three of these, mod 9, are 0, 1, 2, 3, -1, -2, -3 or 0, 1, 2, 3,
6, 7, 8, so the sum of 3 cubes can not be 4 or 5 mod 9.

------
vcavallo
I would have liked to see a bit more comment on the algorithm itself in the
article. But I suppose I can find that elsewhere

~~~
MrMember
I've been able to find vague descriptions of the algorithm used but not any
actual code. Might have to ask the author for it.

~~~
ars
See it here:
[https://youtu.be/ASoz_NuIvP0?t=393](https://youtu.be/ASoz_NuIvP0?t=393)
rewind a bit if you want more explanation.

------
skunkworker
So simple to check, yet so hard to find. I love these kind of mathematical
problems.

In irb or python interpreter copy and paste

    
    
      8866128975287528**3+(-8778405442862239)**3+(-2736111468807040)**3
    

Though another question, are there an infinite number of possible solutions to
this problem? Or just 1 solution with numbers in this length?

~~~
archgoon
> are there an infinite number of possible solutions to this problem?

Unknown. From the article:

'A major result would be to prove the conjecture that k = x³ + y³ + z³ has
infinitely many solutions for every whole number k, except those k that have a
remainder of 4 or 5 after being divided by 9.'

------
kevinventullo
Does anyone know if there is a conjectural characterization of those numbers
which can be expressed as the sum of three cubes? The article mentions not
being congruent to 4 or 5 mod 9 is a necessary condition. Is it
(conjecturally) sufficient?

~~~
jhncls
In the Numberphile video it is conjectured that there are infinitely many
solutions for all those numbers, but that solutions are very sparse. The
smallest solution for 42 might involve very high numbers.

~~~
kevinventullo
Thanks! It seems they mentioned this in the article as well:

"A major result would be to prove the conjecture that k = x³ + y³ + z³ has
infinitely many solutions for every whole number k, except those k that have a
remainder of 4 or 5 after being divided by 9."

------
latchkey
(8866128975287528)^3 + (-8778405442862239)^3 + (-2736111468807040)^3

If I command-space on OSX and put this into the search bar (which accepts
math), I get exactly 30,000,000,000,000.

~~~
saalweachter
echo '(8866128975287528)^3 + (-8778405442862239)^3 + (-2736111468807040)^3' |
bc

------
amelius
How many solutions are there?

~~~
MrMember
The conjecture (that hasn't been proven) is that every integer that does not
equal 4 or 5 mod 9 has infinitely many solutions (integers that = 4 or 5 mod 9
are proven to have no solutions). Parametric equations for 1 and 2 have been
found that generate infinitely many solutions for those values but it is
otherwise an open question.

------
amalcon
> _With 33 out of the way, the only one left is 42._

I know this is just a coincidence, but it's a rather poetic one.

~~~
dewiz
The solution for 42 is coming soon

~~~
jamescostian
Do you have a source for that? It took 7.5 million years for Deep Thought to
discover the significance of 42, and it didn't even break it up into a sum of
three cubes :)
[https://hitchhikers.fandom.com/wiki/Deep_Thought](https://hitchhikers.fandom.com/wiki/Deep_Thought)

------
thaumasiotes
> That problem, stated as k = x³ + y³ + z³, is what number theorists call a
> Diophantine equation — a kind of algebraic structure whose properties have
> fascinated mathematicians for millennia. “They’re rich enough to encode
> [other mathematical] statements that have nothing to do with Diophantine
> equations,” said Browning. “They’re rich enough to simulate computers.”

You would certainly hope so, since every value a computer works with is
integral.

~~~
FartyMcFarter
It says they can simulate computers, not that computers can calculate them.

~~~
thaumasiotes
Yes, and I'm saying since they can represent every value a computer can
represent, this doesn't come as a surprise.

~~~
svat
A computer does more than store values: it also performs computation. And
“they’re rich enough to simulate computers” refers to the celebrated (and
surely surprising!) theorem of Julia Robinson, Martin Davis, Hilary Putnam,
and Yuri Matiyasevich, showing that (to state the result in a couple of ways):

* given a computer program that prints integers, there is a Diophantine equation whose integer solutions are precisely the set of integers printed by that program,

* given any computer program, one can represent it by a Diophantine problem: one can write down a polynomial equation such that it has integer solutions if and only if the program halts.

For example, because we can write down a computer program to print the prime
numbers, there exists a certain (explicitly known) polynomial whose integer
values are precisely the prime numbers. And as we can write down a program
which halts only if (say) the Riemann hypothesis is true, we can write down a
Diophantine equation which has integer solutions only if the Riemann
hypothesis is true.

(What you're saying about being able to represent every value a computer can
represent would be true for say linear or quadratic equations too, but those
are not rich enough to simulate all of computation.)

Essentially, you can build a computer out of diophantine equations.

You can read more at
[https://en.wikipedia.org/w/index.php?title=Hilbert%27s_tenth...](https://en.wikipedia.org/w/index.php?title=Hilbert%27s_tenth_problem&oldid=886276765)
and good expositions by Poonen at [http://www-
math.mit.edu/~poonen/papers/sample_beamer.pdf](http://www-
math.mit.edu/~poonen/papers/sample_beamer.pdf) (talk slides) or
[http://www.ams.org/notices/200803/tx080300344p.pdf](http://www.ams.org/notices/200803/tx080300344p.pdf)
(article).

~~~
thaumasiotes
> What you're saying about being able to represent every value a computer can
> represent would be true for say linear or quadratic equations too, but those
> are not rich enough to simulate all of computation.

True, but this is a strange comparison to make. Calling an equation "linear"
or "quadratic" is a statement about the kinds of computation involved in the
equation. Calling an equation "Diophantine" is a statement about the kinds of
solutions to that equation that _you_ , the author/reader, consider
acceptable. These are not comparable concepts.

I understood the claim "Diophantine equations are sufficient to represent a
computer" to contrast with e.g. "Real-valued equations are sufficient to
represent a computer". It's true that real numbers have more power (vaguely
defined) than integers do, so I can see why this comparison might be drawn in
the first place. But since computers can't use real numbers, I still don't
find it surprising that integers are sufficient.

> A computer does more than store values: it also performs computation.

Yes, but this is not a way in which computers differ from equations. And there
are _no_ restrictions on the types of computation you can invoke in an
equation, whereas computers are e.g. restricted to computing computable
numbers.

> And “they’re rich enough to simulate computers” refers to the celebrated
> (and surely surprising!) theorem...

The proof of the incompleteness theorem involves showing that integers, _by
themselves_ , are rich enough to represent any arbitrary mathematical
statement. Why would it be surprising that adding structure on top of the
integers lets you keep the expressive power you already had? "x = k", for some
constant _k_ that encodes your chosen meaning, is a perfectly valid
Diophantine equation, and we already know that we can represent arbitrary
mathematical statements using only equations of that form. The additional
forms allowed by extending ourselves to arbitrary equations won't take
anything away from that.

~~~
svat
To clarify the comparison I made, consider the set of integer solutions to
linear equations (or to be more precise, the Diophantine set of a linear
polynomial). For example, for the equation x+y=k, the set of integer solutions
k is merely the set of all integers. For the equation 10x+6y=k, you get the
set of all even integers. For the equation 10x+6y+7z=k, again you get the set
of all integers. So the sets of integers that you can obtain as the respective
solutions to linear equations are all very simply structured. (If I'm not
mistaken, they are always simply the multiples of the gcd of the coefficients
of the variables, possibly translated by some constant offset e.g. if one is
considering 6x+9y+15z+7=k, the set of obtainable k (by plugging in various
values for (x, y, z)) is “all integers that are 1 mod 3” — so the set is
always simply an arithmetic progression.)

Similarly for quadratic equations — you still get sets that are easily
parametrized. Something like this is what motivated Hilbert to ask the
question in the first place. Nothing so far would have suggested that if you
go up to higher-degree polynomials, you should eventually be able to obtain
_any_ computable (i.e. recursively enumerable) set as the set of integer
solutions to some polynomial equation. Yet that's the case.

The contrast was never with real numbers, so mentioning real numbers is
neither here nor there. (Though I understand how one can get that impression,
if one thinks that what is being highlighted is “Diophantine solutions” in the
sense of “integer solutions” as opposed to “real solutions” or whatever.) The
surprising fact being highlighted by the number-theorist in the quote (and one
of the highlights of 20th-century mathematics) is that the structure “the set
of integer solutions to a polynomial equation” is rich enough to encode all
possible computation — i.e. polynomials are not as “simple” as one may think.
(Please take a look at those links if you haven't; it's really beautiful and
super surprising that a program can be encoded as the set of integer roots of
an integer polynomial.)

------
AdmiralAsshat
_> Booker found this odd trio of 16-digit integers by devising a new search
algorithm to sift them out of quadrillions of possibilities. The algorithm ran
on a university supercomputer for three weeks straight._

So...did he just brute force it?

EDIT: Should've read further down. Looks like, yes:

 _> But usually, solutions are “nontrivial.” In these cases, the trio of cubed
integers — like (114,844,365)³ + (110,902,301)³ + (–142,254,840)³, which
equals 26 — looks more like a lottery ticket than anything with predictable
structure. For now, the only way for number theorists to discover such
solutions is to play the mathematical “lottery” over and over, using the brute
force of computer-assisted search to try different combinations of cubed
integers, and hope for a “win.”_

~~~
jhncls
The Numberphile video, mentioned elsewhere, explains how a search of O(n^3) is
reduced to a linear search via some clever tricks. From there, the linear
search is quite brute force. Several numbers are searched at the same time,
indicating that no solution for 42 could be found under 10^16. Some
supercomputer infrastructure seems to be necessary ("don't try this at home").

~~~
ConceptJunkie
The paper ends with "The total computation used approximately 23 core-years
over one month of real time.", so yes, I think running this on your 8-core
desktop is not going to cut it.

~~~
dragontamer
But what about a $400 GPU with 4096 shaders?

I haven't looked at the algorithm, but a linear search probably can be GPGPU
computed in parallel. A Vega64 is around $400 and runs 16384 threads on 4096
physical shaders at roughly 1.2GHz.

The main issue is if whatever data-structures used for this search will
actually fit inside the microscopic amount of memory that is available to each
shader.

~~~
Jweb_Guru
You should probably assume that people using supercomputers have thought about
"just using a GPU."

~~~
xiphias2
Don't assume anything.

They are not using GPUs and from the paper it looks like they haven't thought
about it. I think a GPU cluster would be a speedup, but big number
multiplication is relatively slow on GPUs, so maybe not as big speedup as with
other algorithms.

~~~
Jweb_Guru
A GPU _cluster_ , sure. But the discussion was about running the algorithm on
a single GPU on your desktop.

