What right triangles can be constructed using sides of three distinct regular polygons with the same circumradius

abstract-algebrageometrytrigonometry

I have been wondering if the following question requires advanced mathematics such as ring theory:

What are the right triangles that we can construct using the side lengths of three distinct regular polygons having the same circumradius?

An example would be the triangle constructed using an equilateral triangle, a square and a regular hexagon.

Best Answer

Here's a solution using "advanced mathematics" that may nevertheless be useful. Our starting point will be the equation $\sin^2(\pi/p)+\sin^2(\pi/q)=\sin^2(\pi/r)$ from David's comment. Part I will be the only part using algebraic number theory; everything else will be "elementary." It's quite plausible that Part I can be circumvented somehow.

Part I. Showing that $p\mid 6\operatorname{lcm}(q,r)$, $q\mid 6\operatorname{lcm}(r,p)$, and $r\mid 6\operatorname{lcm}(p,q)$.

Firstly, for any positive integer $n$, we see $$\mathbb Q\left(\sin^2\frac{\pi}n\right)=\mathbb Q\left(\cos\left(\frac{2\pi}n\right)\right),$$ since $\sin^2 x=1-\cos(2x)$. The field $\mathbb Q(\cos(2\pi/n))$ is the maximal real subfield of $\mathbb Q(\zeta_n)$, where $\zeta_n=e^{2\pi i/n}$ is a primitive $m$th root of unity. Let $(a,b,c)$ be a positive integers with $$\pm\sin^2\frac{\pi}a\pm\sin^2\frac{\pi}b\pm\sin^2\frac{\pi}c=0$$ for some choice of the three $\pm$ signs. Then $$\cos\left(\frac{2\pi}a\right)\in\mathbb Q\left(\sin^2\frac{\pi}a\right)\subset\mathbb Q\left(\sin^2\frac{\pi}b,\sin^2\frac{\pi}c\right)\subset \mathbb Q(\zeta_b,\zeta_c).$$ Since $\mathbb Q(\zeta_b,\zeta_c)=\mathbb Q(\zeta_{\operatorname{lcm}(b,c)})$, we get $$\cos\left(\frac{2\pi}a\right)\in\mathbb Q\left(\zeta_{\operatorname{lcm}(b,c)}\right).$$ This means that $\zeta_a$ is at most degree $2$ over $\mathbb Q\left(\zeta_{\operatorname{lcm}(b,c)}\right)$, and thus that $$\left[\mathbb Q\left(\zeta_{\operatorname{lcm}(a,b,c)}\right):\mathbb Q\left(\zeta_{\operatorname{lcm}(b,c)}\right)\right]\leq 2.$$ Since $\mathbb Q(\zeta_n)$ is degree $\varphi(n)$ over $\mathbb Q$, where $\varphi$ is Euler's totient function, this means $$\frac{\varphi(\operatorname{lcm}(a,b,c))}{\varphi(\operatorname{lcm}(b,c))}\leq 2.$$ Using the multiplicative properties of $\varphi$, we see $$\frac{\varphi(xy)}{\varphi(y)}=x\prod_{\substack{\ell\text{ prime}\\\ell\mid x,\ell\nmid y}}\left(1-\frac1\ell\right)$$ is a product over all primes dividing $x$ of either $\ell$ (if $\ell\mid y$) or $\ell-1$ (if $\ell\nmid y$), so for this to be at most $2$ we must have $x\mid 6$; in particular, $$a\mid \operatorname{lcm}(a,b,c)\mid 6\operatorname{lcm}(b,c),$$ as desired.


Part II. Technical bounding.

Lemma 1. Let $x_1,x_2,x_3$ and $k$ be positive integers so that $x_i\mid k\operatorname{lcm}(x_j,x_k)$ for every permutation $(i,j,k)$ of $(1,2,3)$. Then $$\operatorname{lcm}(x_1,x_2,x_3)^2\mid kx_1x_2x_3.$$

Proof. We'll show for each prime $\ell$ that $\nu_\ell$ of the left side is at most $\nu_\ell$ of the right. Let $y_1,y_2,y_3$ be $\nu_\ell(x_1),\nu_\ell(x_2),\nu_\ell(x_3)$, ordered so that $y_1\geq y_2\geq y_3$, and let $(i,j,k)$ be a permutation of $(1,2,3)$ so that $y_1=\nu_\ell(x_i)$, $y_2=\nu_\ell(x_j)$, and $y_3=\nu_\ell(x_k)$. Then, since $x_1\mid k\operatorname{lcm}(x_2,x_3)$, $y_1\leq \nu_\ell(k)+y_2$. This means that $$\nu_\ell\left(\operatorname{lcm}(x_1,x_2,x_3)^2\right)=2y_1\leq y_1+\nu_\ell(k)+y_2\leq \nu_\ell(kx_1x_2x_3),$$ as desired. $\square$

Lemma 2. If $0<\alpha,\beta,\gamma<\pi/2$ with $\sin^2\alpha+\sin^2\beta=\sin^2\gamma$, then $$0<\gamma^2-\alpha^2-\beta^2\leq \frac{\gamma^4}3-\frac{\gamma^6}{36}.$$ Proof. For the right inequality, we need only use the Taylor-derived inequalities $$\left(x-\frac{x^3}6\right)^2\leq \sin^2 x\leq x^2,$$ valid for all of $\mathbb R$. For the left inequality, consider the function $$f(x)=\arcsin(\sqrt x)^2$$ defined on $[0,1]$. It satisfies $f''(x)>0$, and so $f'$ is increasing, meaning that for $\beta>0$ $$\gamma^2=f(\sin^2\alpha+\sin^2\beta)=f(\sin^2\alpha)+\int_{\sin^2\alpha}^{\sin^2\alpha+\sin^2\beta}f'(x)dx>\alpha^2+\int_0^{\sin^2\beta}f'(x)dx=\alpha^2+\beta^2.$$

Lemma 3. If $r>10$ and $\sin^2(\pi/p)+\sin^2(\pi/q)=\sin^2(\pi/r)$ with $p\geq q\geq r$ integers, then $q\leq (r+0.2)\sqrt 2$ and $p\leq \sqrt{r^3/2}+r/2$.

Proof. By Lemma 2, after dividing out by $\pi^2$, $$0<\frac1{r^2}-\frac1{p^2}-\frac1{q^2}\leq \frac{\pi^2}{3r^4}-\frac{\pi^4}{36r^6}\implies\frac1{p^2}+\frac1{q^2}\geq \left(\frac1r-\frac{\pi^2}{6r^3}\right)^2.$$ On one hand, this implies $$\frac2{q^2}\geq \left(\frac1r-\frac{\pi^2}{6r^3}\right)^2\implies q\leq \sqrt2(r+0.2)$$ for $r>10$. On the other hand, since $q\geq r+1$, this gives $$\frac1{p^2}\geq \frac1{r^2}-\frac{\pi^2}{3r^4}+\frac{\pi^4}{36r^6}-\frac1{(r+1)^2}\implies p\leq \sqrt{\frac{r^3}2}+\frac r2$$ for $r>10$.


Part III. Finishing the proof, almost.

We will show there are no solutions to $\sin^2(\pi/p)+\sin^2(\pi/q)=\sin^2(\pi/r)$ if $r>417$. Note that $$\frac1{r^2}-\frac1{p^2}-\frac1{q^2}$$ is a positive real number (by Lemma 2) and has denominator at most $\operatorname{lcm}(p,q,r)^2\leq 6pqr$ (using Lemma 1), so it is at least $\frac1{6pqr}$. On the other hand, by Lemma 2, $$\frac1{6pqr}\leq \frac1{r^2}-\frac1{p^2}-\frac1{q^2}< \frac{\pi^2}{3r^4},$$ so $r^3\leq 2\pi^2 pq$. The bounds from Lemma 3 give that $$r^3\leq 2\pi^2 (\sqrt 2)(r+0.2)\left(\sqrt{\frac{r^3}2}+\frac r2\right).$$ The right side grows like $r^{5/2}$ while the left side grows like $r^3$, so there is some threshold value $r_0$ for which this inequality fails for $r>r_0$. This turns out to be about $417$.


Part IV.

All that's left is to painstakingly check the possible solutions with $r\leq 417$. I prefer to do this with Python, and here's the code I ran.

gcd = lambda x,y: gcd(y,x%y) if y else x
lcm = lambda x,y: (x*y)/gcd(x,y)
def sats_nt(p,q,r):
     return (6*lcm(q,r))%p == (6*lcm(r,p))%q == (6*lcm(p,q))%r == 0

def test_r(r,thresh=10**(-10)):
    sols = []
    if r > 10:
        q_max = int((r+0.2)*sqrt(2))
        p_max = int(sqrt(r**3/2)+r/2)
        for q in range(r+1,q_max+1):
            for p in range(q,p_max+1):
                if abs(sin(pi/p)**2+sin(pi/q)**2-sin(pi/r)**2) < thresh:
                    sols.append((p,q,r))
    else:
        q = r
        while True:
            q += 1
            p = pi/asin(sqrt(sin(pi/r)**2-sin(pi/q)**2))
            if abs(p-round(p)) < thresh:
                sols.append((round(p),q,r))
            if p<q:
                break
    return [(p,q,r) for (p,q,r) in sols if sats_nt(p,q,r)]

all_sols = []
for r in range(3,418):
    all_sols += test_r(r)
print(all_sols)

This finds all solutions which are close numerically (within $10^{-10}$, which should be large enough that any floating point errors introduced won't be an issue), filters by the number-theoretic condition from part 1, and returns those that pass. The code intentionally passes through more cases than necessary (iterating through both $p$ and $q$ for $r>10$ instead of just $q$) to perform few "messy" computations that might introduce floating point error. The three solutions returned are $(6,4,3)$ (as noticed in the question), $(6,6,4)$, and $(10,6,5)$.

Related Question