In general, the eigenvalues of a real 3 by 3 matrix can be
(i) three distinct real numbers;
(ii) three real numbers with repetitions;
(iii) one real number and two conjugate non-real numbers;
Why cannot a 3x3 matrix have 2 real number eigenvalues?
In general, the eigenvalues of a real 3 by 3 matrix can be
(i) three distinct real numbers;
(ii) three real numbers with repetitions;
(iii) one real number and two conjugate non-real numbers;
Why cannot a 3x3 matrix have 2 real number eigenvalues?
On
Complex roots of real polynomials come in conjugate pairs. Eigenvalues are roots of such a polynomial.
On
The eigenvalue equation $|M-\lambda I|=0$ gives, for a real $3\times 3$ matrix, the roots of a cubic polynomial with real coefficients. Polynomials with real coefficients have roots that are symmetric w.r.t. the real axis: if $\lambda$ is a root, so is $\bar{\lambda}$.
(you can have eigenvalues $a,a,b$ with $a,b$ both real. This falls under (ii))
On
Suppose $A$ is a $3\times 3$ matrix of real numbers. If you had $AX=\lambda X$ where $\lambda$ is complex, and $X\ne 0$ is a $3d$ column vector, then you could conjugate everything to obtain $A X^* = \overline{\lambda}X^*$, and thereby conclude that $\lambda^*$ is also an eigenvalue of $A$. So the eigenvalues must travel in conjugate pairs for a real matrix $A$.
For instance, because the product of the eigenvalues of a matrix is the determinant of that matrix. As your matrix has real entries, its determinant must also be real. This couldn't happen if you had two real eigenvalues and one non-real eigenvalue. (Or you could do the same thing with the sum of the eigenvalues and the trace.)