Vector Arithmetic Problem

Let $\displaystyle \vec{u}$ be an arbitrary fixed unit vector and show that any vector $\displaystyle \vec{b}$ satisfies $\displaystyle b^2=(\vec{u}\cdot\vec{b})^2+ (\vec{u}\times\vec{b})^2$

Explain this result in words, with the help of a picture.

So I got to the point where I can see the end in sight: $\displaystyle b_1(u_1^2+u_2^2+u_3^2)+b_2(u_1^2+u_2^2+u_3^2)+b_3( u_1^2+u_2^2+u_3^2)-2(u_2 u_3 b_2 b_3+u_1 u_3 b_1 b_3 +u_1 u_2 b_1 b_2)$

Obviously the $\displaystyle (u_1^2+u_2^2+u_3^2)$'s will all go away since u is a unit vector. My only problem is that I have some leftover terms from the dotting of the cross products which I don't see how to get rid of since u and b are so generalized. Since the first part seems to be right, I have to assume that I either did something wrong in the cross product arithmetic or else I'm missing some property of dot products that will make that last term go away. Any thoughts?