Principal curvatures of a surface

Find the equations of the principal curvatures of the surface:

x=u, y=v, z=f(x,y)

I can see a method to do this but it looks like it will be algebraically difficult if not impossible. Can you suggest a simpler way?

What I have come up with is:

I can calculate the surface metric:

$\displaystyle a_{\alpha \beta}=\left[\begin{array}{cc}1+f_u^2&f_uf_v\\f_uf_v&1+f_v^2\en d{array}\right]$

And I can calculate the unit normal:

$\displaystyle \vec n=\frac{-f_u \vec e_1-f_v \vec e_2+\vec e_3}{(f_u^2+f_v^2+1)^{\frac 12}}$

Next I would calculate the curvature tensor:

$\displaystyle b_{\alpha \beta}=-\frac{\partial \vec r}{\partial u^{\alpha}}\cdot\frac{\partial \vec n}{\partial u^{\beta}}$

But the partial derivatives of n are going to get ugly and I still would not be finished. I need the eigenvalues of:

$\displaystyle a^{\alpha \gamma}b_{\gamma \beta}$