Three, (Full marks 12 points) Find all integer values of $a$ such that the equation $(a+1) x^{2}$ $-\left(a^{2}+1\right) x+2 a^{3}-6=0$ has integer roots.

Translate the above text into English, please retain the original text's line breaks and format, and output the translation result directly.
When $a=-1$, the equation becomes $-2 x-2-6=0$, at this time $x=-4$;
When $a \neq-1$, let the two roots be $x_{1}, x_{2}$, then
$$
\begin{aligned}
x_{1}+x_{2} & =\frac{a^{2}+1}{a+1} \\
& =\frac{a^{2}-1+2}{a+1}=a-1+\frac{2}{a+1} ;
\end{aligned}
$$

When $a=0,1,-2,-3$, $\frac{2}{a+1}$ is an integer, $x_{1}+x_{2}$ is an integer;

When $a=0$, the original equation becomes $x^{2}-x-6=0$, solving gives $x_{1}=$ $3, x_{2}=-2 ;$

When $a=1$, the original equation becomes $2 x^{2}-2 x+2-6=0$, i.e., $x^{2}-x-2=0$, solving gives $x_{1}=2, x_{2}=-1$;

When $a=-2$, the original equation becomes $-x^{2}-5 x-22=0$ with no real roots;

When $a=-3$, the original equation becomes $-2 x^{2}-10 x-60=0$, with no real roots.

In summary, when $a=-1,0,1$, the equation has integer roots $x=$ $-4, x=3,-2$ and $x=2,-1$.