# HP Forums

Full Version: (42S) List Pythagorean Triples
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
This program lists Pythagorean triples, (natural numbers \(a, b, c\), such that \(a^2 + b^2 = c^2\)) as alpha strings on the display, starting with "3,4,5". They are not listed in any monotonic order, but successive hypotenuses are listed in a reverse sawtooth pattern.

The triples (\(a,b,c\)) are generated from pairs of natural numbers \(m\), \(n\), such that \(m > n > 0\), and \(m\) and \(n\) are co-prime and not both odd (to filter out non-primitive triples such as 6,8,10), using Euclid's formula:

\[a = m^2 - n^2, b = 2mn, c = m^2 + n^2\]

The program uses registers R00 and R01 to store \(m\) and \(n\), and uses the ALPHA register to show the triple "\(a,b,c\)" (if \(a < b\)), or "\(b,a,c\)" (if \(a > b\)). The program stops after each triple is displayed. Press R/S to continue.

Code:
```00 { 90-Byte Prgm } 01 LBL "PYTRP" 02 2 03 STO 00 04 LBL 00 05 RCL 00 06 1 07 - 08 STO 01 09 LBL 01 10 RCL 00 11 RCL 01 12 X≤0? 13 GTO 05 14 LBL 02 15 X=0? 16 GTO 03 17 MOD 18 LASTX 19 X<>Y 20 GTO 02 21 LBL 03 22 R↓ 23 1 24 X≠Y? 25 GTO 04 26 CLA 27 RCL 01 28 X^2 29 LASTX 30 RCL 00 31 X^2 32 LASTX 33 X<>Y 34 R↓ 35 × 36 ENTER 37 + 38 R↓ 39 + 40 LASTX 41 X<>Y 42 R↓ 43 - 44 X>Y? 45 X<>Y 46 AIP 47 ├"," 48 R↓ 49 AIP 50 ├"," 51 R↓ 52 AIP 53 AVIEW 54 STOP 55 LBL 04 56 2 57 STO- 01 58 GTO 01 59 LBL 05 60 1 61 STO+ 00 62 GTO 00 63 .END.```
Reference URL's
• HP Forums: https://www.hpmuseum.org/forum/index.php
• :