I need to find the normal vector(in a point (a,b)) for a surface F(x,y)=0, that we can't write as y=f(x) and F(x,y) doesn't satisfies the conditions of the implicit function theorem. For example: the surface $x^2 + y^2=1$ (b can be 0 so we can't use the implicit theorem). I found that: the normal vector for the cirlces is $grad(x^2+y^2)|_{(a,b)}=(2a,2b)$ and I don't understand why(I mean that I don't understand why gradient solve this, but the solution (a,b) is clear because of geometry.
Can you also recommend how to find the tangent for these kind of surfaces?
If you are looking at a hypersurface which is defined by an equation of the form $F(x)=0$, then you are looking at the set of point along which $F$ does not change. The gradient of $F$ points into the direction in which $F$ changes most, so it is normal. In formulas: if $c=c(t)$ is a curve in $F=0$, then $F\circ c(t)=0$, hence also it's derivative: $$0=\frac{d}{dt}F\circ c(t)= \langle (\nabla F)\circ c(t), c^\prime(t)$$ This shows that the gradient of $F$ is orthogonal to any curve tangent to the surface.
(The tangent vectors are just the derivatives of curves such that $F\circ c = 0$. For this you need in fact that $\nabla F\neq 0$).
Then, if it is not $=0$, it is a normal vector. In you example it does not matter if $b= 0$, as long as the vector $2(a,b)^T\neq 0$.