#include <stdio.h>
#include <math.h>
#include <stdlib.h>
unsigned long long int pow4(unsigned long long int n)
{
return (n * n * n * n);
}
int main()
{
int a,b,c,d,i;
int ctr = 0;
unsigned long long int beki,temp;
unsigned long long int sigma[] = {
98, //0^4 + 1^4 + 2^4 + 3^4 = 98
354, //1^4 + 2^4 + 3^4 + 4^4 = 354
978, //2^4 + 3^4 + 4^4 + 5^4 = 978
2258, //3^4 + 4^4 + 5^4 + 6^4 = 2258
4578, //4^4 + 5^4 + 6^4 + 7^4 = 4578
8418, //5^4 + 6^4 + 7^4 + 8^4 = 8418
14354, //6^4 + 7^4 + 8^4 + 9^4 = 14354
23058, //7^4 + 8^4 + 9^4 + 10^4 = 23058
35298, //8^4 + 9^4 + 10^4 + 11^4 = 35298
51938, //9^4 + 10^4 + 11^4 + 12^4 = 51938
};
int no_of_sigma = sizeof(sigma)/sizeof(unsigned long long int);
FILE *file;
file
= fopen("bekijyo_4.txt", "w");
for (a = 1; a < 500; a++) {
for (b = a + 1; b < 500; b++) {
for (c = b + 1; c < 500; c++) {
for (d = c + 1; d < 500; d++) {
beki =pow4(a) + pow4(b) + pow4(c) + pow4(d);
for (i = 0; i < no_of_sigma; i++){
temp = pow4(sigma[i]);
if (beki < temp) break;
if (beki == temp){
if (ctr == 0){
}
ctr++;
("(%d ,%d ,%d,%d)=(%d ,%d ,%d, %d)=(%llu) \n",
a, b, c, d,(i),(i+1),(i+2),(i+3),sigma[i]);
"(%d ,%d ,%d ,%d)=(%d ,%d ,%d ,%d)=(%llu) \n",
a, b, c, d,(i),(i+1),(i+2),(i+3),sigma[i]);
break;
}
}
}
}
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgcG93NCh1bnNpZ25lZCBsb25nIGxvbmcgaW50IG4pCnsKICAgIHJldHVybiAobiAqIG4gKiBuICogbik7Cn0KCmludCBtYWluKCkKewogICAgaW50IGEsYixjLGQsaTsKICAgIGludCBjdHIgPSAwOwogICAgdW5zaWduZWQgbG9uZyBsb25nIGludCBiZWtpLHRlbXA7CiAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHNpZ21hW10gPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5OCwgICAgICAvLzBeNCArIDFeNCArIDJeNCArIDNeNCA9IDk4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTQsICAgICAvLzFeNCArIDJeNCArIDNeNCArIDReNCA9IDM1NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTc4LCAgICAgLy8yXjQgKyAzXjQgKyA0XjQgKyA1XjQgPSA5NzgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIyNTgsICAgIC8vM140ICsgNF40ICsgNV40ICsgNl40ID0gMjI1OAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDU3OCwgICAgLy80XjQgKyA1XjQgKyA2XjQgKyA3XjQgPSA0NTc4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4NDE4LCAgICAvLzVeNCArIDZeNCArIDdeNCArIDheNCA9IDg0MTgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0MzU0LCAgIC8vNl40ICsgN140ICsgOF40ICsgOV40ID0gMTQzNTQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIzMDU4LCAgIC8vN140ICsgOF40ICsgOV40ICsgMTBeNCA9IDIzMDU4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTI5OCwgICAvLzheNCArIDleNCArIDEwXjQgKyAxMV40ID0gMzUyOTgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUxOTM4LCAgIC8vOV40ICsgMTBeNCArIDExXjQgKyAxMl40ID0gNTE5MzgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICBpbnQgbm9fb2Zfc2lnbWEgPSBzaXplb2Yoc2lnbWEpL3NpemVvZih1bnNpZ25lZCBsb25nIGxvbmcgaW50KTsKICAgIEZJTEUgKmZpbGU7CgogICAgZmlsZSA9IGZvcGVuKCJiZWtpanlvXzQudHh0IiwgInciKTsKCiAgICBmb3IgKGEgPSAxOyBhIDwgNTAwOyBhKyspIHsKICAgICAgICBmb3IgKGIgPSBhICsgMTsgYiA8IDUwMDsgYisrKSB7CiAgICAgICAgICAgIGZvciAoYyA9IGIgKyAxOyBjIDwgNTAwOyBjKyspIHsKICAgICAgICAgICAgICAgIGZvciAoZCA9IGMgKyAxOyBkIDwgNTAwOyBkKyspIHsKICAgICAgICAgICAgICAgICAgICBiZWtpID1wb3c0KGEpICsgcG93NChiKSArIHBvdzQoYykgKyBwb3c0KGQpOwogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBub19vZl9zaWdtYTsgaSsrKXsKICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCA9IHBvdzQoc2lnbWFbaV0pOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmVraSA8IHRlbXApIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmVraSA9PSB0ZW1wKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdHIgPT0gMCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJyZWFkeS0tLS0tZ28hXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0cisrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCIoJWQgLCVkICwlZCwlZCk9KCVkICwlZCAsJWQsICVkKT0oJWxsdSkgXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLCBiLCBjLCBkLChpKSwoaSsxKSwoaSsyKSwoaSszKSxzaWdtYVtpXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIoJWQgLCVkICwlZCAsJWQpPSglZCAsJWQgLCVkICwlZCk9KCVsbHUpIFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSwgYiwgYywgZCwoaSksKGkrMSksKGkrMiksKGkrMyksc2lnbWFbaV0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBmY2xvc2UoZmlsZSk7CiAgICBwcmludGYoImZpbmlzaCEiKTsKICAgIHJldHVybiAwOwp9Cg==