For anyone unfamiliar with the concept: the mathematician Kurt Gödel
came up with a clever way of assigning unique integers to mathematical expressions, which became known as Gödel numbering. This was important for the proof of the incompleteness theorems—the idea was that if you could express a well-formed statement as a number and your mathematical theory was able to prove statements about numbers, then via this clever encoding you can actually get it to prove statements about well-formed statements.This process is not at all unique—it depends on the particular system of Gödel numbering that you choose and how exactly you choose to represent your expression as a logical sentence. With one reasonable such choice, you can compute the Gödel number for the Pythagorean theorem to be
I am making the following two arbitrary choices here:
- We will need to express the Pythagorean theorem in explicit logical language rather than in English—so, we will have to choose a particular mathematical language in which we can write down a statement that we will agree is equivalent to the Pythagorean theorem. I will use the same language as Tarski’s axioms as they are the most convenient formalization of elementary Euclidean geometry.
- We will need to choose a particular system of Gödel numbering—they are many different ones. I am going to use a slight modification of Mendelson’s Introduction to Mathematical Logic, which itself is a slight modification of Gödel’s original system. The reasons why I won’t use either of those systems will become apparent, but the short version is that via these modifications I am going to drastically reduce the amount of work that we’ll have to do. Trust me, you’ll thank me.
With that preface, let’s show how I got this ridiculous number.
Tarski’s axioms describe relations between points in Euclidean plane geometry, and they have exactly three primitive notions: equality [math]=[/math], betweenness [math]B^3(x,y,z)[/math] and congruence [math]C^4(x,y,a,b)[/math]. All three of these are predicates—the first one accepts two elements, the second accepts three elements, and the third one accepts four elements, and then they either return TRUE ([math]\top[/math]) or FALSE ([math]\bot[/math]). Equality is kind of obvious—as for the other two, you should think about them as follows: [math]B^3(x,y,z)[/math] if and only if [math]y[/math] is between [math]x[/math] and [math]z[/math] (i.e. on the line segment between them); [math]C^4(x,y,a,b)[/math] if and only if the line segment from [math]x[/math] to [math]y[/math] is congruent to (that is, of the same length as) the line segment between [math]a[/math] and [math]b[/math].
There is an immediate problem here, of course: the Pythagorean theorem references right triangles, lengths of line segments, adding, and squaring. The language in which Tarski’s axioms are written doesn’t contain any of that. Therefore, the first thing we have to do is to find some way to express all of those things in our language. We’ll start by defining what we mean by angles being congruent.
Definition: For any [math]a,b,c,x,y,z[/math], we say that [math]\angle abc \cong \angle xyz[/math] if and only if [math]a \neq b[/math], [math]c \neq b[/math], [math]x \neq y[/math], [math]z \neq y[/math] and there exist [math]a',c',x',z'[/math] such that [math]B^3(a',a,b)[/math], [math]B^3(c',c,b)[/math], [math]B^3(x',x,y)[/math], [math]B^3(z',z,y)[/math], [math]C^4(a',b,x',y)[/math], [math]C^4(c',b,z',y)[/math], and [math]C^4(a',c',x',z')[/math].
What the hell is going on? In what sense is this capturing angle congruence? It’s a good thing to see a diagram at this juncture.
The idea is that we can extend out the line segments [math]ab[/math], [math]bc[/math], [math]xy[/math], and [math]yz[/math] (this is what the statements [math]B^3(a',a,b)[/math], [math]B^3(c',c,b)[/math], [math]B^3(x',x,y)[/math], [math]B^3(z',z,y)[/math] are capturing) such that the triangles [math]\triangle a'bc'[/math] and [math]\triangle x'yz'[/math] are congruent (that is what we need [math]C^4(a',b,x',y)[/math], [math]C^4(c',b,z',y)[/math], [math]C^4(a',c',x',z')[/math] to express). From there, it follows from the SSS theorem that [math]\angle abc \cong \angle xyz[/math].
Good. This allows us to define right angles.
Definition: For any [math]a,b,c[/math], [math]\angle abc[/math] is a right angle if and only if there exists [math]d[/math] such that [math]B^3(d,b,c)[/math] and [math]\angle abc \cong \angle abd[/math].
This one is much easier to understand, although a picture is still a good idea.
We can add a point [math]d[/math] such that [math]b[/math] is between [math]d[/math] and [math]c[/math] (i.e. [math]B^3(d,b,c)[/math])—this forms a supplementary angle [math]\angle abd[/math]. These two angles are both right if and only if they are equal.
There is also an alternate definition of right angles that we could use, and in fact will use.
Definition (Alternate): For any [math]a,b,c[/math], [math]\angle abc[/math] is a right angle if and only if [math]a \neq b[/math], [math]c \neq b[/math], and there exists [math]d[/math] such that [math]B^3(d,b,c)[/math], [math]C^4(a,c,a,d)[/math], and [math]C^4(c,b,d,b)[/math].
The picture is just the same as above, with the caveat that this time we are insisting that [math]bd[/math] is the same length as [math]bc[/math].
Obviously, there is something to prove here: namely, that these definitions are actually equivalent. Indeed, in the context of Tarski’s axioms, they are, although to give a proof we would need to actually list Tarski’s axioms, which I would rather not.
The reason why I list this alternative definition of right angle is simple: it’s much simpler when you actually unpack everything, which will be a huge boon later.
Next, we’ll define addition of line segments.
Definition: For all [math]a,b,c,d,x,y[/math], [math]ab + cd = xy[/math] if and only if there exists [math]z[/math] such that [math]B^3(x,z,y)[/math], [math]C^4(a,b,x,z)[/math] and [math]C^4(c,d,z,y)[/math].
Again, we draw a picture.
The idea is that we can put a point [math]z[/math] between [math]x[/math] and [math]y[/math] such that [math]ab[/math] is the same length as [math]xz[/math] and [math]cd[/math] is the same length as [math]zy[/math].
Multiplying lengths is significantly harder, and to define it we will have to first describe similar triangles.
Definition: For all [math]a,b,c,x,y,z[/math], [math]\triangle abc \equiv \triangle xyz[/math] if and only if [math]\angle abc \cong \angle xyz[/math] and [math]\angle bca \cong \angle yzx[/math].
This one is pretty self-explanatory—the one note that I will make is that we could also add the requirement that [math]\angle cab \cong \angle zxy[/math]. However, this additional property follows from the other two from Tarski’s axioms, so I think that this is permissible.
This allows us to define ratios.
Definition: For all [math]a,b,c,d,w,x,y,z[/math], [math]ab : cd = wx : yz[/math] if and only if there exist [math]s,t[/math] such that [math]C^4(w,x,s,b)[/math], [math]C^4(y,z,t,d)[/math], and [math]\triangle abs \equiv \triangle cdt[/math].
This may look weird, but I promise that it is actually completely sensible—here is the picture.
Here’s the idea. The triangles [math]abs[/math] and [math]cdt[/math] are similar. Therefore, [math]ab:cd = sb:td[/math]. But we have specifically chosen [math]s[/math] and [math]t[/math] such that the length of [math]sb[/math] is the length of [math]wx[/math] and the length of [math]td[/math] is the length of [math]yz[/math]. Therefore, it makes sense to write [math]ab : cd = wx : yz[/math].
This allows us to define squaring… provisionally. Multiplication of lengths isn’t well-defined unless we choose some particular length to be equal to [math]1[/math]. However, if we make such an arbitrary choice, then it can be done.
Definition: For all [math]i,j,x,y,a,b[/math], if [math]i \neq j[/math] then [math]xy =_{i,j} ab^2[/math] if and only if [math]xy:ab = ab:ij[/math].
The idea behind this definition is that we are thinking of the length of [math]ij[/math] as being [math]1[/math]. Then [math]xy:ab=ab:1[/math] if and only if [math]xy = ab^2[/math]. This wraps up the preliminaries, and we can finally give a statement that is equivalent to the Pythagorean theorem.
Pythagorean Theorem, 1st version: For all [math]i,j,a,b,c[/math], if [math]i \neq j[/math] and [math]\angle acb[/math] is a right angle, then there exist [math]u,v,w,x,y,z[/math] such that [math]uv + wx = yz[/math], [math]uv =_{i,j} ca^2[/math], [math]wx=_{i,j} bc^2[/math], and [math]yz=_{i,j} ab^2[/math].
This looks weird, sure, but it is the Pythagorean theorem. Indeed, saying that [math]\angle acb[/math] is a right angle is the same as saying that [math]\triangle abc[/math] is a right triangle. If you “plug in” the values of [math]uv,wx,yz[/math], then you get that [math]ca^2 + bc^2 = ab^2[/math], which is exactly what the Pythagorean theorem tells you.
You might worry a bit about whether we have made the “right” choice of [math]ij[/math] to be [math]1[/math], but this is actually irrelevant: any different choice just amounts to rescaling each of our squares by some constant factor, which preserves equality.
Next, we need to unpack the definitions, converting the statement above into something that is entirely phrased in the base language of Tarski’s axioms. To reduce the chances that we screw something up, we’ll do it in stages.
Pythagorean Theorem, 2nd version: For all [math]i,j,a,b,c[/math], if [math]i \neq j[/math], [math]a \neq c[/math], [math]b \neq c[/math], and there exists [math]d[/math] such that [math]B^3(d,c,b)[/math], [math]C^4(a,b,a,d)[/math], and [math]C^4(c,b,c,d)[/math], then there exist [math]u,v,w,x,y,z,t[/math] such that [math]B^3(y,t,z)[/math], [math]C^4(u,v,y,t)[/math], [math]C^4(w,x,t,z)[/math], [math]uv:ca = ca:ij[/math], [math]wx:bc=bc:ij[/math], and [math]yz:ab=ab:ij[/math].
Here, we unpacked:
- “[math]\angle acb[/math] is a right angle” to “[math]a \neq c[/math], [math]b\neq c[/math], and there exists [math]d[/math] such that [math]B^3(d,c,b)[/math], [math]C^4(a,b,a,d)[/math], and [math]C^4(c,b,c,d)[/math]” (this is using the alternative definition of right angle)
- “[math]uv + wx = yz[/math]” to “there exists [math]t[/math] such [math]B^3(y,t,z)[/math], [math]C^4(u,v,y,t)[/math], and [math]C^4(w,x,t,z)[/math]”
- “[math]uv =_{i,j} ca^2[/math], [math]wx=_{i,j} bc^2[/math], and [math]yz=_{i,j} ab^2[/math]” to “[math]uv:ca = ca:ij[/math], [math]wx:bc=bc:ij[/math], and [math]yz:ab=ab:ij[/math]”
Of course, that isn’t enough.
Pythagorean Theorem, 3rd version: For all [math]i,j,a,b,c[/math], if [math]i \neq j[/math], [math]a \neq c[/math], [math]b \neq c[/math], and there exists [math]d[/math] such that [math]B^3(d,c,b)[/math], [math]C^4(a,b,a,d)[/math], and [math]C^4(c,b,c,d)[/math], then there exist [math]u,v,w,x,y,z,t,r_1,s_1,r_2,s_2,r_3,s_3[/math] such that [math]B^3(y,t,z)[/math], [math]C^4(u,v,y,t)[/math], [math]C^4(w,x,t,z)[/math], [math]C^4(c,a,r_1,v)[/math], [math]C^4(i,j,s_1,a)[/math], [math]\triangle uvr_1 \equiv \triangle cas_1[/math], [math]C^4(b,c,r_2,x)[/math], [math]C^4(i,j,s_2,c)[/math], [math]\triangle wxr_2 \equiv \triangle bcs_2[/math], [math]C^4(a,b,r_3,z)[/math], [math]C^4(i,j,s_3,b)[/math], and [math]\triangle yzr_3 \equiv \triangle abs_3[/math].
Here, we unpacked:
- “[math]uv:ca = ca:ij[/math]” to “there exist [math]r_1,s_1[/math] such that [math]C^4(c,a,r_1,v)[/math], [math]C^4(i,j,s_1,a)[/math], and [math]\triangle uvr_1 \equiv \triangle cas_1[/math]”
- “[math]wx:bc=bc:ij[/math]” to “there exist [math]r_2,s_2[/math] such that [math]C^4(b,c,r_2,x)[/math], [math]C^4(i,j,s_2,c)[/math], and [math]\triangle wxr_2 \equiv \triangle bcs_2[/math]”
- “[math]yz:ab=ab:ij[/math]” to “there exist [math]r_3,s_3[/math] such that [math]C^4(a,b,r_3,z)[/math], [math]C^4(i,j,s_3,b)[/math], and [math]\triangle yzr_3 \equiv \triangle abs_3[/math]”
Of course, that isn’t enough.
Pythagorean Theorem, 4th version: For all [math]i,j,a,b,c[/math], if [math]i \neq j[/math], [math]a \neq c[/math], [math]b \neq c[/math], and there exists [math]d[/math] such that [math]B^3(d,c,b)[/math], [math]C^4(a,b,a,d)[/math], and [math]C^4(c,b,c,d)[/math], then there exist [math]u,v,w,x,y,z,t,r_1,s_1,r_2,s_2,r_3,s_3[/math] such that [math]B^3(y,t,z)[/math], [math]C^4(u,v,y,t)[/math], [math]C^4(w,x,t,z)[/math], [math]C^4(c,a,r_1,v)[/math], [math]C^4(i,j,s_1,a)[/math], [math]\angle uvr_1 \cong \angle cas_1[/math], [math]\angle vr_1u \cong \angle as_1c[/math], [math]C^4(b,c,r_2,x)[/math], [math]C^4(i,j,s_2,c)[/math], [math]\angle wxr_2 \cong \angle bcs_2[/math], [math]\angle xr_2w \cong \angle cs_2b[/math], [math]C^4(a,b,r_3,z)[/math], [math]C^4(i,j,s_3,b)[/math], [math]\angle yzr_3 \cong \angle abs_3[/math], and [math]\angle zr_3y \cong \angle bs_3a[/math].
Here, we unpacked:
- “[math]\triangle uvr_1 \equiv \triangle cas_1[/math]” to “[math]\angle uvr_1 \cong \angle cas_1[/math] and [math]\angle vr_1u \cong \angle as_1c[/math]”
- “[math]\triangle wxr_2 \equiv \triangle bcs_2[/math]“ to “[math]\angle wxr_2 \cong \angle bcs_2[/math] to [math]\angle xr_2w \cong \angle cs_2b[/math]”
- “[math]\triangle yzr_3 \equiv \triangle abs_3[/math]” to “[math]\angle yzr_3 \cong \angle abs_3[/math] and [math]\angle zr_3y \cong \angle bs_3a[/math]”
Of course, this is not enough.
Pythagorean Theorem, 5th version: For all [math]i,j,a,b,c[/math], if [math]i \neq j[/math], [math]a \neq c[/math], [math]b\neq c[/math], and there exists [math]d[/math] such that [math]B^3(d,c,b)[/math], [math]C^4(a,b,a,d)[/math], and [math]C^4(c,b,c,d)[/math], then there exist [math]u[/math], [math]u'[/math], [math]u''[/math], [math]v[/math], [math]v''[/math], [math]w[/math], [math]w'''[/math], [math]w''''[/math], [math]x[/math], [math]x''''[/math], [math]y[/math], [math]y'''''[/math], [math]y''''''[/math], [math]z[/math], [math]z''''''[/math], [math]t[/math], [math]r_1[/math], [math]r_1'[/math], [math]s_1[/math], [math]s_1'[/math], [math]r_2[/math], [math]r_2'''[/math], [math]s_2[/math], [math]s_2'''[/math], [math]r_3[/math], [math]r_3'''''[/math], [math]s_3[/math], [math]s_3'''''[/math], [math]a''[/math], [math]a'''''[/math], [math]a''''''[/math], [math]b'''[/math], [math]b''''[/math], [math]b''''''[/math], [math]c'[/math], [math]c''[/math], [math]c''''[/math] such that [math]u \neq v[/math], [math]r_1 \neq v[/math], [math]c \neq a[/math], [math]s_1 \neq a[/math], [math]v \neq r_1[/math], [math]u \neq r_1[/math], [math]a \neq s_1[/math], [math]c \neq s_1[/math], [math]w \neq x[/math], [math]r_2 \neq x[/math], [math]b \neq c[/math], [math]s_2 \neq c[/math], [math]x \neq r_2[/math], [math]w \neq r_2[/math], [math]c \neq s_2[/math], [math]b \neq s_2[/math], [math]y \neq z[/math], [math]r_3 \neq z[/math], [math]a \neq b[/math], [math]b \neq s_3[/math], [math]z \neq r_3[/math], [math]y \neq r_3[/math], [math]b \neq s_3[/math], [math]a \neq s_3[/math], [math]B^3(y,t,z)[/math], [math]C^4(u,v,y,t)[/math], [math]C^4(w,x,t,z)[/math], [math]C^4(c,a,r_1,v)[/math], [math]C^4(i,j,s_1,a)[/math], [math]B^3(u',u,v)[/math], [math]B^3(r_1',r_1,v)[/math], [math]B^3(c',c,a)[/math], [math]B^3(s_1',s_1,a)[/math], [math]C^4(u',v,c',a)[/math], [math]C^4(r_1',v,s_1',a)[/math], [math]C^4(u',r_1',c',s_1')[/math], [math]B^3(v'',v,r_1)[/math], [math]B^3(u'',u,r_1)[/math], [math]B^3(a'',a,s_1)[/math], [math]B^3(c'',c,s_1)[/math], [math]C^4(v'',r_1,a'',s_1)[/math], [math]C^4(u'',r_1,c'',s_1)[/math], [math]C^4(v'',u'',a'',c'')[/math], [math]C^4(b,c,r_2,x)[/math], [math]C^4(i,j,s_2,c)[/math], [math]B^3(w''',w,x)[/math], [math]B^3(r_2''',r_2,x)[/math], [math]B^3(b''',b,c)[/math], [math]B^3(s_2''',s_2,c)[/math], [math]C^4(w''',x,b''',c)[/math], [math]C^4(r_2''',x,s_2''',c)[/math], [math]C^4(w''',r_2''',b''',s_2''')[/math], [math]B^3(x'''',x,r_2)[/math], [math]B^3(w'''',w,r_2)[/math], [math]B^3(c'''',c,s_2)[/math], [math]B^3(b'''',b,s_2)[/math], [math]C^4(x'''',r_2,c'''',s_2)[/math], [math]C^4(w'''',r_2,b'''',s_2)[/math], [math]C^4(x'''',w'''',c'''',b'''')[/math], [math]C^4(a,b,r_3,z)[/math], [math]C^4(i,j,s_3,b)[/math], [math]B^3(y''''',y,z)[/math], [math]B^3(r_3''''',r_3,z)[/math], [math]B^3(a''''',a,b)[/math], [math]B^3(s_3''''',s_3,b)[/math], [math]C^4(y''''',z,a''''',b)[/math], [math]C^4(r_3''''',z,s_3''''',b)[/math], [math]C^4(y''''',r_3''''',a''''',s_3''''')[/math], [math]B^3(z'''''',z,r_3)[/math], [math]B^3(y'''''',y,r_3)[/math], [math]B^3(b'''''',b,s_3)[/math], [math]B^3(a'''''',a,s_3)[/math], [math]C^4(z'''''',r_3,b'''''',s_3)[/math], [math]C^4(y'''''',r_3,a'''''',s_3)[/math], and [math]C^4(z'''''',y'''''',b'''''',a'''''')[/math].
Okay, we have unpacked everything. However, we are still not quite done, for two reasons.
- We need to get rid of all of the English and leave only logical notation—all “AND”s need to be replaced with [math]\wedge[/math], all “NOT”s need to be replaced with [math]\neg[/math] (note that [math]\neq[/math] is just “not [math]=[/math]"), all “IF-THEN”s need to be replaced with [math]\Rightarrow[/math], all “FOR ALL”s need to be replaced with [math]\forall[/math], and all “THERE EXIST(S)”s need to be replaced by [math]\exists[/math].
- We need to standardize our variable and predicate names to apply the numbering scheme that we want—all variables must be of the form [math]x_i[/math] for some [math]i[/math], and all predicates must be of the form [math]A_i^n[/math] for some [math]i[/math] (with [math]n[/math] standing for the number of arguments). If we had any constants or functions, we would need to standardize those too, but thankfully we don’t.
We’ll replace the variables by [math]x_1[/math], [math]x_2[/math], [math]x_3\ldots[/math] simply in the order that they appear. We’ll replace [math]B^3[/math] with [math]A_1^3[/math], [math]C^4[/math] with [math]A_2^4[/math], and [math]=[/math] with [math]A_3^2[/math].
Pythagorean Theorem, final version:
There. Assuming that I didn’t make any mistakes (which, to be fair, is optimistic), we have produced a logical sentence that captures the Pythagorean theorem, and for which we can now compute the Gödel number.
The basics of the computation are actually quite easy. First, we define [math]g(*)[/math] for each of the basic symbols that we are considering:
[math]\begin{align*} g(() = 3, \ g()) &= 5, \ g(,) = 7, \ g(\neg) = 9, \ g(\wedge) = 11, \\ g(\Rightarrow) &= 13, \ g(\forall) = 15, \ g(\exists) = 17 \\ g(x_k) &= 15 + 4k \\ g(A_k^n) &= 1 + 4(2^n 3^k) \end{align*} \tag*{}[/math]
Neither Gödel nor Mendelson included [math]\exists[/math] or [math]\wedge[/math] as basic symbols—instead, you would need to convert your logical sentence into one that phrased these in terms of [math]\forall[/math], [math]\neg[/math], and either [math]\vee[/math] or [math]\Rightarrow[/math] (depending on your choice of scheme). I categorically refuse to do this. Our statement of the Pythagorean theorem is bad enough without adding an additional ghastly amount of parentheses and Boolean operators to get into this kind of minimal form. If you find this unacceptable, you are quite welcome to repeat my analysis using the Gödel numbering system of your choice. I will point out, though, that the system that I am giving here has all of the essentials:
- No two different symbols have the same Gödel number.
- Every symbol has an odd Gödel number.
- You can easily distinguish from the Gödel number if a symbol is a variable, and what the numeral of that variable is. (Specifically, the number must be greater than 17 and have a remainder of 3 after division by 4; if this number is [math]n[/math], the corresponding subscript is [math](n - 15)/4[/math].)
- You can easily distinguish from the Gödel number if a symbol is a predicate, and what the subscript and superscript are. (Specifically, the number must be greater than 17 and have a remainder of 1 after division by 4; if this number is [math]n[/math], and [math]k = (n - 1)/4[/math], then the power of [math]2[/math] in the factorization of [math]k[/math] is the superscript, and the power of [math]3[/math] is the subscript.)
Of course, this isn’t enough: we also need to define the Gödel numbers of expressions—that is, strings of these symbols, like [math]s_1 s_2 s_3 \ldots s_r[/math]. We extend [math]g[/math] to cover this as follows. Let [math]p_r[/math] be the [math]r[/math]-th prime number—then we define
[math]\displaystyle g\left(s_1 s_2 s_3 \ldots s_r\right) = 2^{g(s_1)}3^{g(s_2)}\ldots p_r^{g(s_r)}. \tag*{}[/math]
And that’s it—that gives the Gödel number. Note that, again, our scheme has the essential features.
- No two expressions have the same Gödel number.
- The Gödel number of an expression is always even. (So you can tell apart symbols and expressions.)
- Given the Gödel number, you can easily recover the original expression via prime factorization.
Let’s show how this works for just a small piece of the full Pythagorean theorem:
[math]\displaystyle (\forall x_1)(\forall x_2)(\forall x_3)(\forall x_4)(\forall x_5)(((\neg A_3^2(x_1, x_2). \tag*{}[/math]
This will honestly be more than enough.
[math]\begin{align*} g&\left((\forall x_1)(\forall x_2)(\forall x_3)(\forall x_4)(\forall x_5)(((\neg A_3^2\right) \\ &= 2^{g(()}3^{g(\forall)}5^{g(x_1)}7^{g())}11^{g(()}13^{g(\forall)}17^{g(x_2)}19^{g())} \\ & \hspace{12pt} 23^{g(()}29^{g(\forall)}31^{g(x_3)}37^{g())} 41^{g(()}43^{g(\forall)}47^{g(x_4)} \\ & \hspace{12pt} 53^{g())}59^{g(()}61^{g(\forall)}67^{g(x_5)}71^{g())}73^{g(()}79^{g(()} \\ & \hspace{12pt} 83^{g(()}89^{g(\neg)}97^{g(A_3^2)} \\ &= 2^3 \cdot 3^{15} \cdot 5^{19} \cdot 7^{5} \cdot 11^{3} \cdot 13^{15} \cdot 17^{23} \cdot 19^{5} \cdot 23^{3} \cdot \\ & \hspace{12pt} 29^{15} \cdot 31^{27} \cdot 37^{5} \cdot 41^{3} \cdot 43^{15} \cdot 47^{31} \cdot 53^{5} \cdot 59^{3} \cdot \\ & \hspace{12pt} 61^{15} \cdot 67^{35} \cdot 71^{5} \cdot 73^{3} \cdot 79^{3} \cdot 83^{3} \cdot 89^{9} \cdot 97^{433} \\ &\approx 1.371318489696423 \cdot 10^{1244} \end{align*} \tag*{}[/math]
Doing this for the full Pythagorean theorem is just an exercise in repeating this same procedure many, many more times—more times, in fact, than I have any desire to do by hand. Thankfully, the whole process is very algorithmic and can be done without too much trouble by a Python script… which is precisely what I did. This gave the number (larger than [math]10^{212077}[/math], by the way) that I gave at the beginning.
Footnotes