# What is the smallest integer greater than 1 such that $\frac12$ of it is a perfect square and $\frac15$ of it is a perfect fifth power?

What is the smallest integer greater than 1 such that $$\frac12$$ of it is a perfect square and $$\frac15$$ of it is a perfect fifth power?

I have tried multiplying every perfect square (up to 400 by two and checking if it is a perfect 5th power, but still nothing. I don't know what to do at this point.

• It has to be divisible by $5$ and $2$ so you are looking for a multiple of $10$. Working with perfect fifths will get you through the numbers faster. The number $500000$ works so you can work down from there. Oct 29, 2018 at 14:20
• For the record: this question is currently on the SE Hot Questions list. Oct 29, 2018 at 18:00
• @BillDubuque That's what dragged me from StackOverflow to throw some code at these math people. Oct 29, 2018 at 18:32
• @JohnDouma, what do you mean "work down from there"? You gave the answer already. Oct 30, 2018 at 0:57
• @Wildcard I simply wanted to place a bounds on the search. The smallest number can't be larger than $500000$. Also, the poster didn't know that this was the answer. Oct 30, 2018 at 1:15

The number is clearly a multiple of $$5$$ and $$2$$. We look for the smallest, so we assume that it has no more prime factors.

So let $$n=2^a5^b$$. Since $$n/2$$ is a square, then $$a-1$$ and $$b$$ are even. Since $$n/5$$ is a fifth power, $$a$$ and $$b-1$$ are multiples of $$5$$. Then $$a=5$$ and $$b=6$$.

• Why can you assume that it has no other prime factors? Oct 29, 2018 at 14:31
• @Servaes Because the question is asking for the least number meeting the criterion. Adding in any other prime factors would give a larger number... Oct 29, 2018 at 15:21
• @Servaes: They can always be divided. Say, $n$ is a solution with an additional prime factor $p$ of order $c$. Since $p\ne 2$, $p^c$ is also a factor of $n/2$ which is a square, thus $c$ has to be even and $(n/p^c)/2$ is a square as well. In the same way $(n/p^c)/5$ is a fifth power, so $n/p^c$ is a smaller solution.
– mlk
Oct 29, 2018 at 15:23
• @ajotatxe It would be helpful to add mlk's analysis (or similar) to the answer to help clarify the point, as it's not necessarily obvious.
– R.M.
Oct 29, 2018 at 15:32
• @Mor Servaes's critique is valid. Rigorous justification of that assumption (etc) requires FTA = Fundamental Theorem of Arithmetic (existence & uniqueness of prime factorizations). Paraphrasing Gauss as he proved FTA: one should not wave hands when there are simple rigorous proofs. I've lost count of "totally obvious" falsehoods invoked by my number theory students. A major goal of a number theory course is to learn how to rigorously justify empirical arithmetical intuition so that one is not led astray in more general (non-UFD) domains where FTA and "obvious" things fail spectacurlarly Oct 29, 2018 at 19:21

Here's a very unsophisticated approach: Let $$n$$ be the smallest such integer. Then there exist integers $$a$$ and $$b$$ such that $$n=5a^5$$ and $$n=2b^2$$. It follows that $$a$$ is a multiple of $$2$$, say $$a=2a_1$$, and $$b$$ is a multiple of $$5$$, say $$b=5b_1$$. Then $$n=2^5\cdot5\cdot a_1^5\qquad\text{ and }\qquad n=2\cdot5^2\cdot b_1^2.$$ This in turn shows that $$a_1$$ is a multiple of $$5$$, say $$a_1=5a_2$$, and $$b_1$$ is a multiple of $$2$$, say $$b_1=2b_2$$. Then $$n=2^5\cdot5^6\cdot a_2^5\qquad\text{ and }\qquad n=2^3\cdot5^2\cdot b_2^2.$$ This in turn shows that $$b_2$$ is a multiple of both $$2$$ and $$5^2$$, say $$b_2=2\cdot5^2\cdot b_3$$. Then $$n=2^5\cdot5^6\cdot a_2^5\qquad\text{ and }\qquad n=2^5\cdot5^6\cdot b_3^2.$$ This shows that $$n\geq2^5\cdot5^6$$, and as you might expect a quick check shows that $$n=2^5\cdot5^6$$ does indeed work, so $$n=2^5\cdot5^6=500000$$.

• I don't find this unsophisticated - it's like a finite form of infinite descent. Probably ajotatxe has the simpler solution however, when you consider where the prime factors go. Oct 30, 2018 at 14:39

This is like code golf...

Proof by computation: (in R)

> x=(1:10)^5*5
> x
[1]      5    160   1215   5120  15625  38880  84035 163840
[9] 295245 500000
> sqrt(x/2)
[1]   1.581139   8.944272  24.647515  50.596443  88.388348
[6] 139.427400 204.981707 286.216701 384.216736 500.000000


Done.

• But... the OP didn't ask how to (in general) FIND the answer. They asked what the answer was, presumably with the minimal proof needed to verify it. I joked about code golf because I tried to give the shortest, most transparent possible demonstration that the result was correct.
– user385133
Oct 30, 2018 at 7:06
• @GregSchmit In a sense, this is "proof by inspection". You claim it is 500000. You prove 500000 has the property, and that the 9 candidates less than it don't. QED. (But the computer program goes backwards). Alternatively, it is a proof by a form of induction. ;)
– Yakk
Oct 30, 2018 at 20:08
• @user11599 After thinking about it, even though this technically answers the question, I think it's important not to just show the right answer, but to show how you would figure it out if you didn't already know it a priori. Oct 31, 2018 at 18:48

I am writing this answer because you said that you were trying a guess and check method. Computers are good at this. A decent algorithm is to have two integers $$n_x$$ and $$n_y$$ which start at 1. Then, calculate x by doing $$2n_x^2$$ and y by doing $$5n_y^5$$. Check if they are equal; if they are, you found your answer. If not, whichever of $$x$$ and $$y$$ are lower, increment that $$n$$ value (i.e., if $$x < y$$, then increment $$n_x$$). Recalculate $$x$$ and $$y$$ and repeat until they are the same.

Here is an example implementation in Python using generators:

class SpecialSquareGenerator:

def __init__(self, n=0):
self.n = n

def __iter__(self):
return self

def __next__(self):
self.n += 1
return self.n, 2*(self.n**2)

class SpecialFifthGenerator:

def __init__(self, n=0):
self.n = n

def __iter__(self):
return self

def __next__(self):
self.n += 1
return self.n, 5*(self.n**5)

def special_square():
n = 0;
ss = SpecialSquareGenerator()
sf = SpecialFifthGenerator()
nx, x = next(ss)
ny, y = next(sf)
print("{0}: {1}\t{2}: {3}".format(nx, x, ny, y))
while True:
if (x == y): return x
if x < y:
nx, x = next(ss)
else:
ny, y = next(sf)
print("{0}: {1}\t{2}: {3}".format(nx, x, ny, y))

if __name__ == "__main__":
print(special_square())


Running it returns the right answer:

gns-mac1:sandbox gns\$ python3 special_square.py
1: 2    1: 5
2: 8    1: 5
2: 8    2: 160
3: 18   2: 160
...(output omitted)
494: 488072 10: 500000
495: 490050 10: 500000
496: 492032 10: 500000
497: 494018 10: 500000
498: 496008 10: 500000
499: 498002 10: 500000
500: 500000 10: 500000
500000


Of course, the mathematical approach is better for understanding the problem. But if you need to guess and check, then computers are the tool for that.

P.S.

There is another way to exhaustively search for the solution. You can take sequential numbers and try dividing them by 2 (or 5) and then taking the square root (or fifth root) and then checking if that result is an integer for both operations. There are two downsides to this approach:

• You have to decide if a floating point number is supposed to represent an integer. This is hard for computers and language implementations to do because computers only have a fixed set of digits to represent floating point numbers.
• The search space is greater (by order of $$n^2$$). So that means that you should expect to take longer to reach the same answer, given the same hardware.

P.S.S.

There are faster ways to implement both my algorithm, and the other I mentioned in the postscript. For example, you can double $$n$$ each time and then when you overshoot, use binary search in the space between the last $$n$$ and the one that overshot.

• Nice -- but as you hinted, it depends on whether (assuming this is a class) the teacher expects an analytic proof or not :-) Oct 29, 2018 at 19:03
• @CarlWitthoft Yes, though because I'm a computer scientist I have to say that the student could prove that this program is guaranteed to provide the lowest integer that adheres to the constraints. It's actually similar to how they proved the 4 color theorem by using a computer program to iterate over a bunch of graphs. But you're probably right that the teacher wants them to use math, not computer programs. :) Oct 29, 2018 at 19:45
• @numbermaniac That's why I used the particular algorithm that I did, which doesn't require the computation of square roots or fifth roots and doesn't require any floating point math (to avoid rounding errors). It executes in 0.033s on a MBP in Python 3.6. Oct 30, 2018 at 2:16
• I bet it took substantially more than 8.7 seconds to write it though. Mathematica wins on this one! Oct 30, 2018 at 9:45
• Here's a Python two-liner as an alternative: import itertools; next(10*i for i in itertools.count(1) if round((5*i)**0.5)**2 == 5*i and round((2*i)**0.2)**5 == 2*i) Oct 30, 2018 at 11:23

Hint: Let the required number be x:

$$\frac{1}{2}x= A^2$$

$$\frac{1}{5}x= B^5$$

$$\frac{1}{2}x+\frac{1}{5}x =A^2+B^5$$

$$\frac{5x+2x}{10}=A^2+B^5$$

$$7x=10(A^2+B^5)$$

$$x=10k$$; $$k ∈ N$$.

So x is a power of 10.

The smallest 5th power of 10 is $$10^5$$ so the number must be $$5\times 10^5=500000$$.

All integers of this kind can be written in the form,

$$k = 5^{10a - 4} 2^{10b - 5} c^{10d}$$

where $$a, b, c, d \in \mathbb{Z}_{\ge 1}$$ (or $$a, b, c, d$$ are non-negative integers)

Let's make sure this works.

$$k/5 = 5^{10a-5} 2^{10b-5} = (5^{2a-1} 2^{2b-1} c^{2d})^5$$

So, $$1/5$$ of $$k$$ is a perfect fifth power.

$$k/2 = 5^{10a-4} 2^{10b-6} = (5^{5a-2} 2^{5b-3} c^{5d})^2$$

So, $$1/2$$ of $$k$$ is a perfect square.

The smallest integer of this kind is the one where $$a, b, c, d = 1$$ which is $$k = 5^6 2^5 = 500000$$.

You can find all integers that follow your definition by using different values of $$a, b, c, d$$.