Is every $3$-dimensional vector $v$ with integer coordinates a cross product of two other vectors with integer coordinates?

I have written a program to check for $v$ with entries between $-7$ and $7$. Every $v$ that small can be expressed as a cross product of two other vectors with integer coordinates.

But I can't come up with a general proof.

Apart from the empirical evidence from my experiment on small $v$, another reason to think this is true is that it's almost enough to find two small independent vectors, $u$ and $w$, with integer coordinates that are perpendicular to $v$. Playing around with integer relation algorithms has taught me that such $u$ and $w$ should be plentiful. The cross product of $u$ and $w$ is a scalar multiple of $v$ - call it $kv$. $k$ is an integer; in most cases $|k| = 1$. If it isn't, pick a different $u$ and $w$.

A similar but much easier question was this: Is every vector in $\Bbb R^3$ a cross product?.

Note: The answer given here was used to solve Diophantine equations so the question is about number theory.

  • 4
    $\begingroup$ A basic idea would be to take the cross product of two arbitrary vectors and see what you can conclude from the formulas for the components of the result $\endgroup$
    – Aphyd
    Commented Apr 16, 2022 at 1:31
  • 1
    $\begingroup$ I see the category "Number Theory" was removed from this question. But I used the answer to solve diophantine equations so I'm adding that category back, $\endgroup$ Commented Apr 20, 2022 at 20:02
  • $\begingroup$ Predrag3141, for what it's worth, I also think that number theoretic aspects are relevant here. It may be that the tag elementary-number-theory is a better match, as the number theory is not very deep. Let's see what others think. $\endgroup$ Commented Apr 20, 2022 at 20:10
  • $\begingroup$ There is a pretty deep follow-up where this is used to solve integer relations, which are the Diophantine equations I alluded to. The question itself is also a rather difficult Diophantine equation to solve though the solution is not difficult to understand. $\endgroup$ Commented Apr 20, 2022 at 20:16

1 Answer 1


Let us write $v=(a, b, c)$, and consider the three vectors $$ w_1=(0, c, -b), \quad w_2=(-c,0,a), \qquad w_3=(b, -a, 0). $$ Note that $w_1 \times w_2=cv$, $w_1 \times w_3=-bv$. This way, let $d=\gcd(b, c)$, and write it as $d=\lambda b+\mu c$, so that $$ \frac{w_1}{d} \times\left( \mu w_2-\lambda w_3 \right)=v. $$ Here $\mu w_2-\lambda w_3$ and $w_1/d$ have integer coordinates, as we can easily check.

  • 3
    $\begingroup$ Great work! I ran down the details and they check out. We just need to handle when b and/or c is 0. Without loss of generality, a similar answer applies with different coordinates playing the role of b and c, as long as there are two non-zero coordinates. So, the only special case is when exactly one coordinate is non-zero. A vector with exactly one non-zero coordinate is the cross product of two other vectors with exactly one non-zero coordinate each. So our work is done. $\endgroup$ Commented Apr 16, 2022 at 3:20
  • 2
    $\begingroup$ I think the proof works if $b=0$ and $c\neq 0$, as then we can take $d=c$, $\lambda=0$ and $\mu=1$. And by symmetry, it works provided that one of the $a, b, c$ is nonzero, and so the only special case is $(0,0,0)$. (Of course, we can check separatedly for $(0, b, c)$ and similar, as you pointed out.) $\endgroup$ Commented Apr 16, 2022 at 3:33
  • $\begingroup$ Hi @NicolásVilches please could you help out with math.stackexchange.com/q/4445701/585488 $\endgroup$
    – linker
    Commented May 8, 2022 at 8:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .