As a two-by-two matrix, applying Jacobi's method in fact gives the answer at once!
It is known that given a two-by-two symmetric matrix $\mathbf A$, one can construct an orthogonal matrix $\mathbf V=\bigl(\begin{smallmatrix}c&s\\\\-s&c\end{smallmatrix}\bigr)$ such that $\mathbf V^\top \mathbf A\mathbf V$ is diagonal, where the two numbers $c$ and $s$ satisfy $c^2+s^2=1$.
If the off-diagonal elements are not zero (why?), computing $c$ and $s$ can be done like so:
$$\begin{align*}
\tau&=\frac{a_{22}-a_{11}}{2a_{12}}\\
t&=\frac{\mathrm{sgn}(\tau)}{|\tau|+\sqrt{1+\tau^2}}\\
c&=\frac1{\sqrt{1+t^2}}\\
s&=ct
\end{align*}$$
from which the eigendecomposition easily follows.
(See Golub and Van Loan's excellent book for further details.)
Here is a Mathematica demonstration of Jacobi's method:
a = N[{{3, -1}, {-1, 2}}, 20];
tau = (a[[2, 2]] - a[[1, 1]])/a[[1, 2]]/2;
t = Sign[tau]/(Abs[tau] + Sqrt[1 + tau^2]);
{c, s} = {1, t}/Sqrt[1 + t^2]
{0.85065080835203993218, 0.5257311121191336060}
{l1, l2} = {a[[1, 1]] - t a[[1, 2]], a[[2, 2]] + t a[[1, 2]]}
{3.6180339887498948482, 1.3819660112501051518}
Eigenvalues[a] == {l1, l2}
True
Eigenvectors[a] == {{c, -s}, {s, c}}
True
a.{c, -s} == l1 {c, -s}
True
a.{s, c} == l2 {s, c}
True