Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently came across Dickson's method on Wikipedia for generating pythagorean triples. I implemented this in a computer programming language and found some oddities, which was based on the fact that there was missing triples, ie, the Dickson method did not generate all of the triples.

The specific example that I found was the triple $(65, 72, 97)$ which satisfies $65^2(=4225) + 72^2(=5184) = 97^2 (=9409)$ ie it is a valid pythagorean triple, but it can not be found with the Dickson method:

In the Dickson method $a = r + s$, $b = r + t$ and $c = r + s + t$ where $r$ and $s$ are factors of $r^2/2$. In this specific case, $r=40$ which implies $s = 25$ and $t = 32$ with neither of $s$ and $t$ being factors of $40$.

My question is whether this is a known fact or not? If it is a known fact, is there a source somewhere that I can cite to fix the Wikipedia page which claims it finds all triples?

share|cite|improve this question
We have $r^2 = 1600 = 2st = 50 \cdot 32 = 100 \cdot 16$. What's the issue? – Qiaochu Yuan Feb 22 '12 at 5:50
I'm sorry... where does Wikipedia claim that Dickson's method generates "all triples"? It only says that Dickson offers a method for "generating Pythagorean triples". There is no claim that this method will generate all triples. – Arturo Magidin Feb 22 '12 at 5:52
@Arturo: second paragraph. "All Pythagorean triples may be found by this method." – Qiaochu Yuan Feb 22 '12 at 5:56
@Pieter: You don't need $s$ and $t$ to be factors of $r$, you need them to be factors of $r^2/2$. Here, $r^2/2=800$, and both $25$ and $32$ are factors of $800$. – Arturo Magidin Feb 22 '12 at 6:01
Thanks everyone, I feel like a klutz now... I still don't know how the algorithm will know when it has all of the triples in a given range, but this helps already. – Pieter Breed Feb 22 '12 at 6:17
up vote 9 down vote accepted

Here is a proof that Dickson's method works. Let $a, b, c$ be three integers. Set $$r = a + b - c$$ $$s = c - b$$ $$t = c - a$$

which are manifestly integers if and only if $a, b, c$ are integers. Now we compute that $$r^2 - 2st = a^2 + 2ab + b^2 - 2ac - 2bc + c^2 - 2c^2 + 2ac + 2bc - 2ab = a^2 + b^2 - c^2$$

hence $r^2 = 2st$ if and only if $a^2 + b^2 = c^2$.

share|cite|improve this answer

Here is a better solution which I have formulated. $$a = s^2 + 2sn .................. \qquad\rm Formula\ 1.J$$ $$b = 2n^2 +2sn .................... \qquad\rm Formula\ 1.K$$ $$c = s^2 +2n^2 +2sn .................... \qquad\rm Formula\ 1.L$$

This will generate all triples.

share|cite|improve this answer
This doesn't seem to be an answer to the question asked here. – Henning Makholm Sep 25 '12 at 13:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.