Well duh, it’s the (slope of the) tangent to a circle, of course it’s not 2y (or 2x).

OK, not duh, of course, or else you wouldn’t have written this, but that is the desired state, so let me try to get you there.

Stop thinking about the equation F(x,y)=0 as specifying a function, start thinking about it as specifying a curve: the set { (x,y) | F(x,y)=0 } of its solutions.

Let us handle the “explicit” case first, because you know what the answer is going to be and it only remains to see how we’re going to get it. The equation is y=f(x), the curve is evidently what you would otherwise call “graph of f”. Our interest is going to be in the tangents to that curve, that is straight lines that most closely approximate the curved shape near some point.

OK, so we must have a point, let’s take one. It’s a point, it has coordinates, (x,y). But not just any coordinates—it must lie on the curve we’re studying, which in our special case means that y is equal to f(x), in particular that y is uniquely determined by x: a graph of a normal “single-valued” function intersects any vertical line only once. It thus makes sense to go from “what’s the tangent to the curve at its point (x,y)?” to “what’s the tangent line to the graph at whichever (unique!) point has horizontal coordinate x?”.

Now it should be apparent how to tie in your knowledge of single-variable differentiation: you know this tangent line has slope f'(x), and given you also know it passes through (x,f(x)), you know everything there is to know about it. (Exercise: work an equation that determines which points lie on it, for example by working out its intercept.)

On the other hand, we can also proceed in a completely general (if hand-wavey) fashion. Gather all terms on the left-hand side for consistency: y−f(x)=0. If we shift a little bit from (x,y) to (x+dx,y+dy), y−f(x) (which is presumably zero because we start on the graph) changes into y+dy−f(x+dx) ≈ y+dy−f(x)−f'(x)dx = dy−f'(x)dx. For the shifted point to lie approximately on the graph (and thus exactly on the tangent), this would have to be zero as well, thus the offset (dx,dy) lies on a line with slope f'(x) (through zero, because it’s an offset). This is the same thing!

Now suppose I wanted to work out the tangents in your example x²+y²−9=0. It’s not of the form y−[something with x]=0, but so what, we’ll proceed anyway. Shifting a little bit from point (x,y) (which we assume is on the curve) to point (x+dx,y+dy) (which we want to be there as well, at least approximately), we go from x²+y²−9, which is zero, to (x+dx)²+(y+dy)²−9 ≈ x² + 2x dx + y² + 2y dy − 9 = 2x dx + 2y dy, which thus also needs to be zero.

But saying this is the same thing as saying that x dx + y dy = 0, or that the vectors (x,y) (from zero to the chosen point) and (dx,dy) (from the chosen point to the shifted point) are orthogonal. This is as nice a description of this condition as you’re likely to get, I think: you can also write it as dy/dx = −x/y if you chose a point with x≠0 (line slope, compare with first example) or as dx/dy = −y/x if you chose a point with y≠0 (also line slope but with axes swapped) but these exceptional points are annoying.

Just for fun, let’s look a bit more closely at what just happened (no more implicit differentiation but may ground you a bit better). The original equation was x²+y²=3². Pythagoras says this means “point (x,y) is 3 units away from the origin”, that is, the “curve” I was talking about is actually just a circle, and indeed you might’ve learned in geometry that a tangent to a circle is perpendicular to its corresponding radius (no differentials required, apparently, but the geometric definition of a tangent that you used then was probably rather dodgy). The annoying exceptional points above are simply those where the tangent is vertical or horizontal (where the circle intersects the axes), so of course it didn’t have a finite slope if you preferred the wrong axis.

On the other hand, if you cut out the points with x=0 (say), the circle falls apart into two pieces which are graphs of functions, one of which is f(x) = √(9−x²) (the upper part) and the other has a minus in front (the lower part). There’s no reason you can’t compute the slope of the tangent in this “explicit” way; a standard single-variable calculation gets you [slope at (x,f(x))] = f'(x) = 1 / 2√(9−x²) × (−2x) = −x / √(9−x²) which happens to be = −x / f(x), same as −x/y you got before. It also works out for the bottom part and even for the exceptional points on the sides, but now you have to guess the pretty expression, whereas the “implicit” approach gives it to you immediately and is less painful to boot (no differentiating square roots!).

It is also better in that, if you just look at a circle, the “exceptional” points on the sides... aren’t! They’re only special because of how you chose your axes. Except going the “explicit” route forces you to choose axes. I would thus say that the implicit approach is less confusing, not more.

(The terminology and historical notation around it can be tremendously confusing, but here I’ve tried to use a consistent set of terms.)

Everything we’ve just done with one equation in two variables (getting a tangent line of dimension one specified by one linear equation) can of course be done with k equations in n variables (getting a tangent plane of dimension n−k specified by a system of k linear equations), but it’s better to first get some intuition on how higher-dimensional planes work in an abstract/geometric/non-calculational linear algebra course.