| Problem 106 - Fermat vs. Pythagoras, Explanations |
Oh oh! You have already seen this problem somewhere no ? Want a clue? The problem's real name is the Pythagorean triples... Wan't an hint? It's a parity problem... Somewhere in highschool maybe. If you have a good memory, you should remember that all integer solution of this equation are constrained this way : (x,y) or (y,x) = (2 u*v, u*u - v*v) and z = u*u + v*v .
Now that the math part is over, you can easily code a solution :
1) Create a dynamic array, since the input may be too big to fit in a static array, and nullify it.
2) Create a working greatest common divisor function.
3) Run following algorithm:
for (u=1;u*u < n ;u++)
for(v=1;((v < u)&&(u*u+v*v <= n));v++)
if (gcd(u*u-v*v,2*u*v)==1){
add 1 to the number of working pairs;
mark all multiples of u*u-v*v, u*u+v*v and 2*u*v in the array;
}
4) Output the number of working pairs as well as the number of 0 in the array.
Remember that you seek the number of relatively prime pairs and the number of not involved numbers (Relative primality does not matter). If you are in trouble with the multi-entry input, read my how to read input.
Computer generated and assisted proofs and verification occupy a small niche in the realm of Computer Science. The first proof of the four-color problem was completed with the assistance of a computer program and current efforts in verification have succeeded in verifying the translation of high-level code down to the chip level.
This problem deals with computing quantities relating to part of
Fermat's Last Theorem: that there are no integer solutions of
for n > 2.
Given a positive integer N, you are to write a program that computes two quantities regarding the solution of
where x, y, and z are constrained to be positive integers
less than or equal to N. You
are to compute the number of triples (x,y,z) such that x
such that
p is not part of any triple (not just relatively prime triples).
The input consists of a sequence of positive integers, one per line. Each integer in the input file will be less than or equal to 1,000,000. Input is terminated by end-of-file.
For each integer N in the input file print two integers separated by a
space. The first integer is the number of relatively prime triples
(such that each component of the triple is
). The second number
is the number of positive
integers
that are not part of any triple whose
components are all
. There should be one output line for each
input line.
10 25 100
1 4 4 9 16 27