Pythagorean triples

due: Sunday, March 2nd at 11:59 PM

The Pythagorean Theorem says that positive numbers \(a\), \(b\), \(c\) are lengths of sides of a right triangle if and only if \(a^2 + b^2 = c^2\).

../../_images/pythagorean_triples-1.svg

An interesting problem is to determine which triples of integers satisfy this equation.

Definiton. A triple of positive integers \((a, b, c)\) such that \(a^2 + b^2 = c^2\) is called a Pythagorean triple.

Example. \((3, 4, 5)\) is a Pythagorean triple since \(3^2 + 4^2 = 5^2\).

Note. In order to find a Pythagorean triple it is enough to find a couple of positive integers \((a, b)\) such that \(\sqrt{a^2 + b^2}\) is also an integer. This gives a Pythagorean triple \((a, b, c)\) where \(c = \sqrt{a^2 + b^2}\). We will say in such case that \((a, b)\) is a Pythagorean tuple.

The goal of this project is to investigate the structure of Pythagorean triples.

Project

Part 1. Write a function get_ptriples(n) that takes as its argument a number \(n\) and returns a list of all Pythagorean triples \((a, b, c)\) where \(1 \leq a, b \leq n\):

get_ptriples(20)

[[3, 4, 5], [4, 3, 5], [5, 12, 13], [6, 8, 10], [8, 6, 10], [8, 15, 17], [9, 12, 15], [12, 5, 13], [12, 9, 15], [12, 16, 20], [15, 8, 17], [15, 20, 25], [16, 12, 20], [20, 15, 25]]

Part 2. Plot all Pythagorean tuples \((a, b)\) where \(1\leq a, b \leq n\) for various values of \(n\).

Part 3. Describe and analyze the structure of Pythagorean tuples.

Note. There are many possible directions to take to analyze the structure of Pythagorean tuples. One possibility is to look into “primitive Pythagorean tuples”, which we will discuss in class.