原始ピタゴラス数（げんしピタゴラスすう、英：primitive Pythagorean triples）は、ピタゴラス数のうち3つの数が互いに素（primitive）であるものをいう。

概要 
原始ピタゴラス数は一意な三分木をなしている。詳細は:en:Tree of primitive Pythagorean triplesを参照のこと。

具体的には、原始ピタゴラス数  を、 とし、 の小さい順に並べると、 までは次の通りである： 

となる。
　  順に表記する以外に、(偶数，奇数，奇数)順に表記したり、(奇数，偶数，奇数)順に表記したりする流儀もあるが、それは研究者や著作によってまちまちである。

歴史 
この三分木構造は古代バビロニアにおいてすでに発見されていたらしいことがプリンプトン322から伺われるが、ギリシャ数学（ピタゴラスおよびユークリッドによって興味を持たれていたものの）では一部失われていたらしく、この三分木に現れる「プラトン系列」「ピタゴラス系列」などは再発見されたようであるが、もう一本の枝はフェルマーに再発見されるまで知られていなかったらしい。とはいえ偶数項と奇数項の差が 1 である系列は古代バビロニアにおいても知られていたらしいことがYBC 7289によってうかがわれる。

オランダの F.J.M.Barning、アメリカの A.Hall、日本の亀井喜久男によって再発見され証明されたが、その証明に行列が使われていたため「一段前の節点に戻るために、どの行列の逆行列を掛ければいいのか？」という逆問題が未解決だった。ただし、連分数や幾何学的的操作による解法が発見されて、結着をみた。

原始ピタゴラス数の生成式 
原始ピタゴラス数の生成式としては、ユークリッドの式とブラフマグプタの式が知られている。

ユークリッドの式またはピタゴラスの公式によれば、原始ピタゴラス数  は
  または 
の形になる。ここで、 は自然数で、
  は互いに素
 
  と  の偶奇は異なる（一方が奇数で他方が偶数）
を満たす。

ブラフマグプタの式では、原始ピタゴラス数  は
  または 
の形になる。ここで、 は自然数で、
  は互いに素
 
  と  はともに奇数
を満たす。

ピタゴラスの式とブラフマグプタの式は(m, n)と(p, q) が和差の関係にあるためどちらを使っても差し支えないが、ブラフマグプタの式を図形的に表すと三つの項の合計が p × (p + q) になるため、図形によって説明するのにはユークリッドの式よりもブラフマグプタの式が便利である([要出典])という意見もあり(http://animaleconomicus.blog106.fc2.com/blog-entry-1032.html)、古代バビロニアではこの形で知られていたという推測もある。

原始ピタゴラス数の生成式の証明 
ここではユークリッドの式について説明する。

3段構成で証明される。
 と  は偶奇が異なる
 が偶数とすると、 は平方数
 または 

■
1.  は原始的であるから、 と  の少なくとも1つは奇数である。

 も  も奇数であると仮定すると、

これは  に矛盾。

故に、 と  は偶奇が異なる。

2.  が偶数、 が奇数の場合について証明する（他の場合は  を入れ替えればよい）。

（{{math|''a}} は整数）とおく。

ここで  と  は偶奇が一致するから、（ともに奇数だとすると上の等式を満たさないため）
（は自然数）
とおくことができる。

ここで  は互いに素であるから、 は互いに素であることが導ける。さらに  は偶奇が一致するから  は奇数である。

逆に、 は互いに素で  が奇数ならば、 は互いに素であることも導ける。

 は互いに素だから、（は互いに素な自然数）とおくことができる。

このとき 

 より 

 は奇数より  は奇数。

3. 2.より 

∴  ■

結城浩の『数学ガール』では、「ピタゴラ・ジュースメーカー」として取りあげられている。

 理論 
細矢治夫『トポロジカル・インデックス ―　フィボナッチ数からピタゴラスの三角形までをつなぐ新しい数学』によれば、
 原始ピタゴラス数を三角形とみなしたときに「長辺と斜辺の長さの差が 1 」という操作を U とする
ということである。これはオランダのバーニングが 1963 年に、アメリカのホールが 1970 年に独立に発見したという。（F.J.N,Barning, Math. Centrum American Afd. Zuivere Wisk. ZW-011(1963)37.および小林吹代『ピタゴラス数を生み出す行列の話』ベレ出版）

これ以外に「斜辺と長辺の長さの差が 2 」という操作を D とする。

これに対し「長辺と短辺の長さの差が 1 」という操作は古代バビロニアで発見されて以降(プリンプトン322・YBC 7289)、フェルマーによって再発見されるまで知られていなかったようである。

なお、U は up、D は down、A は across を意味していると、細矢は同書で述べている。また、同時に「バーニングとホールの理論の大きな泣きどころは、任意の二つの規約ピタゴラスの三角形を選んだときに、その両者を結ぶU・D・A'''の組合せが存在するかの判定、またもし存在するとしてもその組合せを知る簡単な手立てがないことである」と述べているが、現在では連分数および幾何学的な解法が知られているので、現在高校生には教えられていない行列を使う必要はない。したがって、現在では小中学校レベルの問題になった。

アルゴリズム 
ピタゴラスによる式では、「最小の、偶奇が異なる互いに素な自然数」は(1, 2)である。ブラフマグプタの式では、「最小の、相異なる奇数互いに素な自然数」は、(1, 3) である。、
 奇数足す偶数は奇数
 偶数足す偶数は偶数
であり、ユークリッドの互除法から「ある長方形の辺に正方形を付け足しても、元の長方形の長さの公約数は変わらない」ことは自明であるため、
 長辺に正方形を二つくっつける
 短辺に正方形を二つくっつける
 長辺尾長さに相当する正方形二つから、もとの長方形を引く
という操作によって、元の正方形よりも(少なくとも面積としては)大きい長方形が得られる。
この逆操作は「長方形から短い辺に接煤正方形を二つ取り、面積がマイナスであれば正負」を反転するという操作によって {1, 2}または {1, 3}に落ちる。

連分数による解法 
連分数による解法は、n / m および q / p が(互いに素であることから既約分数とるため、同じく証明される(http://animaleconomicus.blog106.fc2.com/blog-entry-1150.html　による)。

　たとえばここに１１／８という分数があったとしよう。
　これは　（２×８－５）／８であって、２－１／（８／５）である。
　８／５＝（２×５－２）／５＝２－１／（５／２）。
　５／２＝（２×２＋１）／２＝２＋１／２。
　２＝２／１であり、これをｅとおく。これは原始ピタゴラス数 {3, 4, 5} に対応する。

　２－１／（ｘ）＝Ｕｘ，２＋１／（ｘ）＝Ａｘ，２＋（ｘ）＝Ｄｘとしよう。

　１１／８＝ＵＵＡｅ である。

　他の値も試してみよう。
　たとえば１２／５。

 １２／５＝（２×５＋２）／５＝２＋（２／５）＝２＋１／（５／２）。
 ５／２＝（２×２＋１）／２＝２＋１／２。
∴１２／５＝ＡＡｅ。

　たとえば９／２。
 ９／２＝（２×２＋５）／２＝２＋（５／２）。
 ５／２＝（２×２＋１）／２＝２＋１／２。
 １２／５＝ＤＡｅ。

　たとえば１１／４。
 １１／４＝（２×４＋３）／４＝２＋１／（４／３）。
 ４／３＝（２×３－２）／３＝２－（２／３）＝２－１／（３／２）。
 ３／２＝（２×２－１）／２＝２－１／２。
∴１１／４＝ＡＵＵｅ。

　この手続きは、任意の原始ピタゴラス数から、

１）一段下の原始ピタゴラス数と、

２）そこに向かう経路（Ｕ／Ａ／Ｄの逆変換）

の両方を与える。この操作によって分母分子のどちらかの数は減少しているので、いつかは終了する。終了した時点の 1/2 はｅに対応する。
これをプログラミング言語Javaのメソッドとして実装すると、
    public static boolean inverseUAD(int m, int n) {
        if (!(0 < m) || !(m < n)) {
            System.out.println(" m と n の値が 0 < m < n になっていません。");
            return false;
        }
        
        if (Arithmetic.gcm(m, n) > 1) {
            System.out.println(" m と n の値が 互いに素ではありません。");
            return false;
        }

        if (((n - m) % 2) == 0) {
            System.out.println(" m と n の偶奇数は異なっていなければなりません。");
            return false;
        }
        System.out.print("(" + m + ", " + n + ") = ");
        System.out.print("{ " + ((n * n) - (m * m)) + ", " +
                        (2 * m * n) + ", " + ((n * n) + (m * m)) + " } = ");
        return _inverseUAD(m, n);
    }

    private static boolean _inverseUAD(int m, int n) {
        // e
        if ((m == 1) && (n == 2)) {
            System.out.println("e");
            return true;
        }

        // D
        if (n > (m + m + m)) {
            System.out.print("D");
            return _inverseUAD(m, n - (m + m));
        }

        // A
        if (n > (m + m)) {
            System.out.print("A");
            return _inverseUAD(n - (m + m), m);

        }

        // U
        System.out.print("U");
        return _inverseUAD((m + m) - n, m);
    }
のようになる。
これによって、(1359, 4442) = { 17884483, 12073356, 21578245 } = DUUUAAUAUUDAe などが求まる)。

フィボナッチ数およびユークリッドのアルゴリズムとの関連 
幾何学的な解釈によると、フィボナッチ数は長方形（初期値である単位正方形は、もちろん長方形である）に正方形をくっつける操作であり、これを「フィボナッチ螺旋」と呼ぶ。これに対して、いわゆるユークリッドの互除法は、フィボナッチ螺旋の逆回しであるといえる。

互いに素な辺長の長方形の長辺に正方形をくっつける操作によって、互いに素な辺長を持つ長方形が生成できることは明らかである。ただし、原始ピタゴラス数の生成式の場合、(m, n)あるいは(p, q)の偶奇性が課題になるため、「長方形に正方形を二つくっつける」という操作が必要になる。この方法が三通りあって三通りしかなく、逆操作は一通りしかないことから、「原始ピタゴラス数は一意な三分木をなす」という定理は 2008 年ごろに逆問題も含めて証明されたが、紀元前18世紀においてすでに発見されていたことの再確認でしかなく、考古学的な価値はあるかもしれないが数学的にはほとんど価値はない。