Multiplicity of intersection between tangent and elliptic curve Doubling a point (adding it to itself) on an elliptic curve is done by taking the tangent to the point and calculating the other point where the line intersects the curve. That point is then reflected across the x-axis for the result.
However, I'm having trouble proving the formula for this. The main problem I have is with finding that other point of intersection, which requires proving that the intersection between the tangent line and the original point being doubled has a multiplicity of two in the cubic you get when creating an equation using the elliptic curve equation and the formula for the tangent line. How would I prove this multiplicity of two?
Some clarification:
Let y=cx+d be the tangent line at P, on elliptic curve y^2=x^3+ax+b. Finding the third point would require solving x^3+ax+b-(cx+d)^2=0, which is finding the roots of that cubic. In order to do so, I need to prove that the x coordinate of P is a root of that polynomial with a multiplicity of two (it is quite clear that it is one of the roots, the multiplicity is the hard part).
 A: Let $f(x,y) = x^3+ax+b - y^2$. Then our equation is $f(x,y) = 0$. At a point $(p,q)$ on this curve, the tangent line is:
$\frac{\partial f}{\partial x}(p,q) (x-p) + \frac{\partial f}{\partial y}(p,q) (y-q) = 0$
Parametrize this with $x(t) = p - t\frac{\partial f}{\partial y}(p,q)$ and $y(t) = q + t\frac{\partial f}{\partial x}(p,q)$.
Then we are to show that $g(t) = f(x(t),y(t))$ has a double root at $t = 0$.
This is a polynomial in $t$, and as you've already noted, $g(0) = 0$. Thus if we show $g'(0) = 0$, then we'll know $g$ has a double root at $t = 0$. This is simply the chain rule:
$g'(0) = \frac{\partial f}{\partial x}(p,q)\frac{\partial x}{\partial t}(0) + \frac{\partial f}{\partial y}(p,q) \frac{\partial y}{\partial t}(0) = -\frac{\partial f}{\partial x}(p,q)\frac{\partial f}{\partial y}(p,q) + \frac{\partial f}{\partial y}(p,q) \frac{\partial f}{\partial x}(p,q) = 0$

I noticed you're a high school student. If this is all a bit too high-level, mimic it in your situation and compute $g'(t)$ explicitly instead of using the chain rule. You could also parametrize with $t = x$ as you have in your question, but this is more general so there's no special case when the tangent line is vertical.
Also, if you're not certain why checking $g(0)$ and $g'(0)$ are enough:
Claim: Given a polynomial $g(t)$, we have that $r$ is a root with multiplicity exactly $k$ if and only if $g^{(j)}(r) = 0$ for $0 \leq j < k$ but $g^{(k)}(r) \neq 0$ (i.e. $g$ and its first $k-1$ derivatives vanish at $r$, but the $k$-th doesn't).
Sketch: Factor $g(t) = (t-r)^k h(t)$, where $h(r) \neq 0$. Then if you write out $g^{(j)}(t)$, all terms have a $(t-r)$ factor in them for $j < k$, but for $j = k$, there's one term without a $(t-r)$ factor, which is exactly $h(t)$, which we know doesn't vanish at $r$.
Thus showing $g(0) = 0$ and $g'(0) = 0$ implies that the multiplicity of $g(t)$ at $t = 0$ is at least two.

Even simpler proof that $g(0) = 0$ and $g'(0) = 0$ implies the multiplicity of $g(t)$ at $t = 0$ is at least two:
Now $g(0)$ is the constant term of $g(t)$. Thus since $g(0) = 0$, the constant term must be zero.
Next, $g'(0)$ is the coefficient of the linear term. Thus since $g'(0) = 0$ then in addition the linear term must be zero.
Thus $g(t)$ has no constant or linear term, so we can factor out a $t^2$. That is $t = 0$ is a double root.
