All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Just Math
Gonna party like it's 1999 (Posted on 2004-09-12) Difficulty: 1 of 5
Find a solution to:
x1^4 + x2^4 + x3^4 + ... + xn^4 = 1999

where each xy is a distinct integer.

(Or prove that it is impossible).

See The Solution Submitted by SilverKnight    
Rating: 3.2500 (4 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
Some Thoughts Observation | Comment 5 of 7 |

If 1999 is to be made the sum of 4th powers of integers, but we limit the restriction that the bases be distinct to only one occurrence of -1 and one occurrence of 1, but as many occurrences as necessary for the other bases, then the following table shows all the ways of doing that.  The distinction of positive or negative of the base is not made in the table, so 1 is allowed to occur twice -- once as positive and once as negative:

   1   2   3   4   5   6
   2  59  13   0   0   0
   1  54  14   0   0   0
   0  49  15   0   0   0
   2  43  13   1   0   0
   1  38  14   1   0   0
   0  33  15   1   0   0
   2  27  13   2   0   0
   1  22  14   2   0   0
   0  17  15   2   0   0
   2  11  13   3   0   0
   1   6  14   3   0   0
   0   1  15   3   0   0
   2  25  12   0   1   0
   1  20  13   0   1   0
   0  15  14   0   1   0
   2   9  12   1   1   0
   1   4  13   1   1   0

where this bottom line for example indicates 1^4 + 4*2^4 + 13*3^4 + 4^4 + 5^4.  As mentioned, of course, 4*2^4, for example, could actually be 2*(-2)^4 + 2*2^4.

These are the only ways that still restrict -1 and +1 to one occurrence each as the base.

DECLARE SUB brkDwn (lvl#)
DEFDBL A-Z
DIM SHARED fp(6)
FOR i = 1 TO 6
 fp(i) = INT(i ^ 4 + .5)
 PRINT fp(i)
NEXT

DIM SHARED used(6), remain

remain = 1999
brkDwn 6

SUB brkDwn (lvl)
 FOR i = 0 TO remain / fp(lvl)
  remain = remain - i * fp(lvl)
  used(lvl) = i
  IF remain = 0 THEN
    FOR j = 1 TO 6
      PRINT USING "####"; used(j);
    NEXT
    PRINT
  ELSE
    IF lvl > 2 OR lvl = 2 AND remain < 3 THEN
      brkDwn (lvl - 1)
    END IF
  END IF
  remain = remain + i * fp(lvl)
 NEXT i
 used(lvl) = 0
END SUB

 


  Posted by Charlie on 2004-09-12 14:32:23
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (2)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2017 by Animus Pactum Consulting. All rights reserved. Privacy Information