Homepage › Solution manuals › Ivan Niven › An Introduction to the Theory of Numbers › Exercise 5.3.15* (Nearly isosceles Pythagorean triangle)
Exercise 5.3.15* (Nearly isosceles Pythagorean triangle)
Prove that no Pythagorean triple of integers belongs to an isosceles right triangle, but that there are infinitely many primitive Pythagorean triples for which the acute angles of the corresponding triangles are, for any given positive , within of .
Answers
Proof. If a Pythagorean triple of integers belongs to an isosceles right triangle, then , so , where , otherwise . Therefore . This is impossible, because is an irrational number. This shows that no Pythagorean triple of integers belongs to an isosceles right triangle.
We prove that there are infinitely many primitive positive Pythagorean triples such that . By Theorem 5.5, there are positive integers such that
So
Put , so that . The equation becomes the Pell-Fermat equation
We have proved in Problem 10 that this equation has infinitely many solutions , given by
for all . Then satisfies , thus is a Pythagorean triple.
Note that is odd, and is even. If we suppose that is odd, and even, then is odd, and is even. This shows by induction that for all ,
Now we prove that is a primitive Pythagorean triple. Indeed, , because . Since , we obtain . If is a prime divisor of and , then and , thus and , thus , so . This is impossible, because is odd, is even, therefore cannot divide the odd integer . This shows that , a fortiori , so is a primitive Pythagorean triple, with if , satisfying .
The acute angles of the corresponding triangles are and , where
Since , , thus . Moreover , thus , thus
Hence
if is given, there exists an integer such that for every , .
So there are infinitely many primitive Pythagorean triples for which the acute angles of the corresponding triangles are, for any given positive , within of . □
Note: We give the first nearly isosceles Pythagorean triangles with python, following the preceding formulas.
from math import atan, pi print(pi/4) 0.7853981633974483 (t,s) = (1, 0) for i in range(16): r = s + t x = r * r - s * s y = 2 * r * s z = r * r + s * s (t, s) = (3 * t + 4 * s, 2 * t + 3 * s) print ((x, y, z), ’=>\t\t’, atan(y/x)) (1, 0, 1) => 0.0 (21, 20, 29) => 0.7610127542247298 (697, 696, 985) => 0.7846802884310315 (23661, 23660, 33461) => 0.7853770311305932 (803761, 803760, 1136689) => 0.7853975413215937 (27304197, 27304196, 38613965) => 0.7853981450852449 (927538921, 927538920, 1311738121) => 0.7853981628583874 (31509019101, 31509019100, 44560482149) => 0.7853981633815799 (1070379110497, 1070379110496, 1513744654945) => 0.7853981633969812 (36361380737781, 36361380737780, 51422757785981) => 0.7853981633974345 (1235216565974041, 1235216565974040, 1746860020068409) => 0.785398163397448 (41961001862379597, 41961001862379596, 59341817924539925) => 0.7853981633974483 (1425438846754932241, 1425438846754932240, 2015874949414289041) => 0.7853981633974483 (48422959787805316581, 48422959787805316580, 68480406462161287469) => 0.7853981633974483 (1644955193938625831497, 1644955193938625831496, 2326317944764069484905) => 0.7853981633974483 (55880053634125472954301, 55880053634125472954300, 79026329715516201199301) => 0.7853981633974483