You are not logged in.

- Topics: Active | Unanswered

Pages: **1**

Is the following a good way to generate primitive pythagorean triples?

```
pythag[n_] := Block[{soln = Solve[{a^2 + b^2 == c^2, c <= n, 0 < a < b < c}, {a, b, c}, Integers]},
{Length[soln], Count[GCD[a, b] == GCD[b, c] == GCD[c, a] == 1 /. soln, True]}
]
```

'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'But our love is like the wind. I can't see it but I can feel it.' -A Walk to remember

Offline

**anonimnystefy****Real Member**- From: The Foundation
- Registered: 2011-05-23
- Posts: 15,922

Why not just use Euclid's formula?

Taking a new step, uttering a new word, is what people fear most. ― Fyodor Dostoyevsky, Crime and Punishment

The knowledge of some things as a function of age is a delta function.

Offline

I would love to but I do not know how to do that on M.

'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'But our love is like the wind. I can't see it but I can feel it.' -A Walk to remember

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 95,912

Here are some I used:

`somepytriples[m_]:={m,((m^2-1)/2),((m^2+1)/2)}`

`morepytriples[u_,v_,r_]:={(u^2-v^2)r,2*u*v*r,(u^2+v^2)r}`

`pytriples[m_,n_]:={n^2-m^2,2m*n,n^2+m^2}`

**In mathematics, you don't understand things. You just get used to them.**

**If it ain't broke, fix it until it is.**

Offline

How do I iterate m and n through ranges?

I have found yet another truly marvelous algorithm.

http://stackoverflow.com/questions/18294496/proof-pythagorean-triple-algorithm-is-faster-by-euclids-formula

The last comment therein

'And fun? If maths is fun, then getting a tooth extraction is fun. A viral infection is fun. Rabies shots are fun.'

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'But our love is like the wind. I can't see it but I can feel it.' -A Walk to remember

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 95,912

The search will be on for one that can do what you want as soon as you define what you want.

Here is another one courtesy of Chyanog cao:

`Pick[#, (#^2).{1, 1, -1}, 0] &@Subsets[Range[200], {3}]`

For some really fast code you must go to the gurus.

http://mathematica.stackexchange.com/qu … ean-triple

Mr Wizards code, woof!

```
genPTunder[lim_Integer?Positive] :=
Module[{prim},
prim = Join @@
Table[If[
CoprimeQ[m, n], {2 m n, m^2 - n^2, m^2 + n^2}, ## &[]], {m, 2,
Floor@Sqrt@lim}, {n, 1 + m~Mod~2, m, 2}];
Union @@ (Range[lim~Quotient~Max@#]~KroneckerProduct~{Sort@#} & /@
prim)]
genPTunder[200] // Length
```

**In mathematics, you don't understand things. You just get used to them.**

**If it ain't broke, fix it until it is.**

Offline

Who is cao?

I do not get your code.

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'But our love is like the wind. I can't see it but I can feel it.' -A Walk to remember

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 95,912

That is the guys name.

Neither of those was written by me. RIPOSTP, produced those.

**In mathematics, you don't understand things. You just get used to them.**

**If it ain't broke, fix it until it is.**

Offline

What does compiling Marhematica code mean?

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'But our love is like the wind. I can't see it but I can feel it.' -A Walk to remember

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 95,912

It means producing superfast pseudocode. Not exactly machine instructions but code that M can execute much faster. M can also be converted into C++ code.

**In mathematics, you don't understand things. You just get used to them.**

**If it ain't broke, fix it until it is.**

Offline

Why would you do that?

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'But our love is like the wind. I can't see it but I can feel it.' -A Walk to remember

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 95,912

Because code might run dozens of times faster!

**In mathematics, you don't understand things. You just get used to them.**

**If it ain't broke, fix it until it is.**

Offline

How do I figure out which is the triple, not nexessarily primitive, (p,q,r) such that p+q+r is minimised and p>=20

'God exists because Mathematics is consistent, and the devil exists because we cannot prove it'

'But our love is like the wind. I can't see it but I can feel it.' -A Walk to remember

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 95,912

Did you try to program it?

**In mathematics, you don't understand things. You just get used to them.**

**If it ain't broke, fix it until it is.**

Offline

Pages: **1**