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.

  • 8
    $\begingroup$ 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. $\endgroup$ – John Douma Oct 29 '18 at 14:20
  • 1
    $\begingroup$ For the record: this question is currently on the SE Hot Questions list. $\endgroup$ – Bill Dubuque Oct 29 '18 at 18:00
  • 2
    $\begingroup$ @BillDubuque That's what dragged me from StackOverflow to throw some code at these math people. $\endgroup$ – Greg Schmit Oct 29 '18 at 18:32
  • $\begingroup$ @JohnDouma, what do you mean "work down from there"? You gave the answer already. $\endgroup$ – Wildcard Oct 30 '18 at 0:57
  • 3
    $\begingroup$ @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. $\endgroup$ – John Douma Oct 30 '18 at 1:15

This is like code golf...

The answer is 500000.

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


  • 18
    $\begingroup$ 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. $\endgroup$ – user385133 Oct 30 '18 at 7:06
  • 1
    $\begingroup$ @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. ;) $\endgroup$ – Yakk Oct 30 '18 at 20:08
  • 2
    $\begingroup$ @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. $\endgroup$ – Greg Schmit Oct 31 '18 at 18:48

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$.

  • 9
    $\begingroup$ Why can you assume that it has no other prime factors? $\endgroup$ – Servaes Oct 29 '18 at 14:31
  • 20
    $\begingroup$ @Servaes Because the question is asking for the least number meeting the criterion. Adding in any other prime factors would give a larger number... $\endgroup$ – twalberg Oct 29 '18 at 15:21
  • 12
    $\begingroup$ @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. $\endgroup$ – mlk Oct 29 '18 at 15:23
  • 13
    $\begingroup$ @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. $\endgroup$ – R.M. Oct 29 '18 at 15:32
  • 13
    $\begingroup$ @R.M. I don't agree, I think it is totally obvious as written. $\endgroup$ – Morgan Rodgers Oct 29 '18 at 16:34

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$.

  • $\begingroup$ 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. $\endgroup$ – theREALyumdub Oct 30 '18 at 14:39

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)
            ny, y = next(sf)
        print("{0}: {1}\t{2}: {3}".format(nx, x, ny, y))

if __name__ == "__main__":

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

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.


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.


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.

  • $\begingroup$ Nice -- but as you hinted, it depends on whether (assuming this is a class) the teacher expects an analytic proof or not :-) $\endgroup$ – Carl Witthoft Oct 29 '18 at 19:03
  • $\begingroup$ @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. :) $\endgroup$ – Greg Schmit Oct 29 '18 at 19:45
  • 2
    $\begingroup$ @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. $\endgroup$ – Greg Schmit Oct 30 '18 at 2:16
  • 1
    $\begingroup$ I bet it took substantially more than 8.7 seconds to write it though. Mathematica wins on this one! $\endgroup$ – Mike Spivey Oct 30 '18 at 9:45
  • 1
    $\begingroup$ 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) $\endgroup$ – Eric Duminil Oct 30 '18 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$



$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$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.