Skip to main content
3 of 5
Incorporation of Philipp's answer + clean up of post and code according to the reformulated question + checking upto 23950
Sebastien Palcoux
  • 27k
  • 5
  • 74
  • 186

Extension of Dickson's theorem on integers of the form $a^2+b^2+2c^2$

Theorems V in this paper of L.E. Dickson states that the following two sets are equal. $$E=\{a^2+b^2+2c^2 \ | \ a,b,c \in \mathbb{Z}\} \ \text{ and } \ F=\mathbb{N} \setminus \{4^k(16n+14) \ | \ k,n \in \mathbb{N}\}.$$ Let $\mathbb{A}$ denote $\mathbb{N}$ or $\mathbb{Z}$. Consider the following set: $$E(\mathbb{A}) = \left\{\frac{1}{2}\|u+v \|^2 \text{ with } u,v \in \mathbb{A}^3 \text{ and } \|u \| = \|v \| \right\}.$$

Let $u= (a,b,c)$, $v = (b,-a,c) \in \mathbb{Z}^3$. Then $\|u \| = \|v \|$ and $\frac{1}{2}\|u+v \|^2 = a^2+b^2+2c^2.$
It follows that $F= E \subseteq E(\mathbb{Z})$. Now, by Legendre's three-square theorem, $E(\mathbb{Z}) \subset F$ also.
Then, we have an extension of Dickson's theorem as $E(\mathbb{Z}) = F$. Now, what about $E(\mathbb{N})$?

Take $u=v \in \mathbb{N}^3$, then $\frac{1}{2}\|u+v \|^2 = 2 \|u \|^2$, so by Legendre's three-square theorem, $E(\mathbb{N})$ contains the even part $F$. The computation below shows that $E(\mathbb{N})$ contains every odd number less than $23950$, except those in $I=\{ 5, 23, 29, 65, 167 \}$, suggesting that $E(\mathbb{N}) = F \setminus I$.

Question: Is it true that, for $u,v \in \mathbb{N}^3$ with $\|u \| = \|v \|$, the form $\frac{1}{2} \|u+v \|^2$ covers every odd number, except those in $\{ 5, 23, 29, 65, 167 \}$?

Application: this answer proves that the form $\| A\|^2$ covers every natural number for $A \in M_3(\mathbb{Z})$.
A positive answer to the above question would prove this result for $A \in M_3(\mathbb{N})$.


For the convenience of the reader, the answer of Philipp Lampe (of what was Question 1 in a previous version) was incorporated in the post.


Computation

sage: L=cover(70)
sage: set([2*i+1 for i in range(11975)])-set(L)
{5, 23, 29, 65, 167}

Code

# %attach SAGE/3by3.spyx

from sage.all import *

cpdef cover(int r):
    cdef int a1,a2,a3,b1,b2,b3,x,n
    cdef list L
    L=[]
    for a1 in range(r):
        for a2 in range(a1+1):
            for a3 in range(a2+1):
                x=a1**2+a2**2+a3**2
                for b1 in range(isqrt(x)+1):
                    for b2 in range(isqrt(x-b1**2)+1):
                        for b3 in range(isqrt(x-b1**2-b2**2)+1):
                            if a1**2+a2**2+a3**2==b1**2+b2**2+b3**2:
                                n=((a1+b1)**2+(a2+b2)**2+(a3+b3)**2)/2
                                if is_odd(n) and not n in L:
                                    L.append(n)
    return L
Sebastien Palcoux
  • 27k
  • 5
  • 74
  • 186