Diophantine

For ordered pair(s) of natural number ( x , y ) (x, y) , we have

x 3 y 3 = x y + 61. \large\ x^3 - y^3 = xy + 61.

Find the sum of possible values of x y xy .


The answer is 30.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

5 solutions

Chris Lewis
Jun 6, 2019

It's - fairly - easy to search and find that ( x , y ) = ( 6 , 5 ) (x,y)=(6,5) is a solution, giving the answer 30 \boxed{30} .

A bit more interesting is to prove that the solution is unique.

Write x = y + d x=y+d and substitute in to get

y 3 + 3 d y 2 + 3 d 2 y + d 3 y 3 = y ( y + d ) + 61 y^3+3dy^2+3d^2 y+d^3-y^3=y(y+d)+61

Tidying and rearranging:

( 3 d 1 ) y 2 + d ( 3 d 1 ) y + d 3 61 = 0 (3d-1)y^2+d(3d-1)y+d^3-61=0

[Edit: as per the comment from @Sathvik Acharya below, this solution could in fact stop here]

This is a quadratic in y y . For it to have integer roots, the discriminant must be the square of an integer, ie

( d ( 3 d 1 ) ) 2 4 ( 3 d 1 ) ( d 3 61 ) = m 2 (d(3d-1))^2-4(3d-1)(d^3-61)=m^2 for some integer m m .

Expanding, cancelling and factorising, this is m 2 = ( 3 d 1 ) ( 244 d 2 d 3 ) m^2=(3d-1)(244-d^2-d^3) .

The right-hand side must be positive; both bracketed terms have to have the same sign. This only happens when 1 d 5 1\le d\le 5 (remember d d - the difference of two integers - must be an integer).

Of these five cases, only d = 1 d=1 gives a perfect square for the discriminant, so we must have d = 1 d=1 .

Returning to the quadratic in y y , we have 2 y 2 + 2 y 60 = 0 2y^2+2y-60=0 with solutions y = 6 y=-6 and y = 5 y=5 . Both of these work in the Diophantine equation, but we are told to discard negative solutions; the unique solution in natural numbers is ( x , y ) = ( 6 , 5 ) (x,y)=(6,5) .

Nice solution!

Also note that ( 3 d 1 ) y 2 + d ( 3 d 1 ) y + d 3 = 61 d 3 < 61 d = 1 , 2 , 3 (3d-1)y^2+d(3d-1)y+d^3=61 \implies d^3<61\implies d=1,2,3 . I believe this reduces the length of the solution.

Sathvik Acharya - 2 years ago

Log in to reply

It does! A lot! I got caught up in trying to find all integer solutions (in which case I think some care is needed with the possibility of d d or y y being negative).

But of course the problem is about natural numbers, not all integers, so that's a valid and helpful shortcut.

Chris Lewis - 2 years ago

Another possible solution would be to multiply the equation by 27 and subtract 1 from both sides in order to transform the left hand side to the form a 3 + b 3 + c 3 3 a b c a^3+b^3+c^3-3abc which can then be factorized.

Sathvik Acharya - 2 years ago

Log in to reply

That looks worth writing up as a full solution.

Chris Lewis - 2 years ago

@Chris Lewis why x = y + d ?? This substitution is not intuitive

Aditya Todkar - 1 year, 11 months ago

Log in to reply

That's a fair comment. I can only really say it comes from having seen these type of questions before and from trying different ideas. Introducing d d breaks the symmetry of the problem, which sometimes helps. Seeing that it will lead to a quadratic in x x whose discriminant we can use is also helpful (even a messy quadratic is easier to deal with than a cubic in general).

I still have a pretty limited toolset when it comes to Diophantine equations, but when it comes to showing there are a finite number of solutions to an equation, either reducing to a question about factorisations (finitely many divisors of a number) or discriminants (finitely many real solutions to a quadratic) often seems to help.

Modular arithmetic is less useful for this type of question, because you'll always end up finding zero or infinitely many possibilities. It can help with the reduction to simpler equations, though, with a bit of case analysis.

Of course, then there is brute-force, which I use quite often as well, though I'd always prefer to find an analytic solution where possible.

I hope that helps/is of interest - I'm always interested to learn more solution techniques, and the problems on this site are pretty useful for that.

Chris Lewis - 1 year, 11 months ago
Sathvik Acharya
Jun 10, 2019

Multiply the equation by 27 and subtract 1 from both sides, to obtain ( 3 x ) 3 + ( 3 y ) 3 + ( 1 ) 3 3 ( 3 x ) ( 3 y ) ( 1 ) = 1646. (3x)^3 + (-3y)^3 + (-1)^3 - 3(3x)(-3y)(-1) = 1646. Note that the left hand side is of the form a 3 + b 3 + c 3 3 a b c = ( a + b + c ) ( a 2 + b 2 + c 2 a b b c c a ) a^3+b^3+c^3-3abc=(a+b+c)(a^2+b^2+c^2-ab-bc-ca) , and can be factorized as ( 3 x 3 y 1 ) ( 9 x 2 + 9 y 2 + 1 + 9 x y + 3 x 3 y ) = 2 823. (3x - 3y - 1)(9x^2 + 9y^2 + 1+ 9xy + 3x - 3y) = 2\cdot 823. Since ( 9 x 2 + 9 y 2 + 1 + 9 x y + 3 x 3 y ) > ( 3 x 3 y 1 ) (9x^2 + 9y^2 + 1+ 9xy + 3x - 3y)>(3x - 3y - 1) and 3 x 3 y 1 2 ( m o d 3 ) 3x - 3y - 1\equiv 2 \pmod 3 , it follows that 3 x 3 y 1 = 2 3x-3y-1=2 and 9 x 2 + 9 y 2 + 1 + 9 x y + 3 x 3 y = 823. 9x^2+9y^2+1+9xy+3x-3y=823.

Solving the two equations gives the only solution ( x , y ) = ( 6 , 5 ) x y = 30. \boxed{(x,y)=(6,5)\implies xy=30.}

Very nice! This is a really good way of showing that the Diophantine equation will have finitely many solutions (finite number of factors \to finite number of solutions).

One small typo - you should have 1646 1646 , not 1642 1642 .

Chris Lewis - 2 years ago

Log in to reply

Thanks! Fixed it.

Sathvik Acharya - 2 years ago
Tomáš Hauser
Jun 12, 2019
1
2
3
4
5
6
int main() {
    for (int x = 1; x <= 1000; x++)
        for (int y = 1; y <= 1000; y++)
            if (x * x * x - y * y * y == x * y + 61)
                printf("%d\n", x * y);
}

Cantdo Math
Apr 15, 2020

substitue a=x-y and b=xy.Then, b = 61 a 3 3 a 1 b=\frac{61-a^3}{3a-1} plugging a=1 works and gives b=xy=30.The question says there's only one.so,that's our ans. We can check that too.b being natural 61 > a 3 61>a^3 gives a<4.These small cases can easily be checked.

Jesse Nieminen
Jun 12, 2019
1
2
3
4
5
6
7
8
9
s = 0
while True:
    x = 0
    while x <= s:
        y = s - x
        if x ** 3 - y ** 3 == x * y + 61:
            print("{0}^3 - {1}^3 = {0} * {1} + 61".format(x, y))
        x += 1
    s += 1

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...