### Vague Math Introduction

Someone in the 19th century discovered an “arithmetic” of points on a particular cubic curve; any cubic curve will do.
The arithmetic involves only addition.
Mathematically it is a commutative group whose elements are points on the curve, plus one or three at infinity.
Given some fixed curve you choose some point and call it 0, which becomes the identity of the group.
We adopt the ‘+’ sign to denote addition, or the group operation.
Then you consider the relation L of three points on the curve that all lie on some straight line.
We posit Lxyz → x+y+z = 0.
Now we can do arithmetic.
First if we want −x from x we note that x + (−x) + 0 = 0 and thus L x (−x) 0 and so we draw a line thru x and 0 and see where it intersects the curve again; that point is −x.
We can add x and y by noting that x + y + (−(x+y)) = 0.
We get −(x+y) by using the line thru x and y, and then use the above trick to get x+y = −(−(x+y)).

There is yet one more complication when two of arguments to L are the same.
If you use calculus to compute the limiting line as two points approach each other; you get a formula for the tangent that can be computed using only rational arithmetic.
This same formula works when we are using a finite field, even though calculus is out of its depth in that case.

I don’t know who discovered that this slightly obscure construction actually produces a commutative group.
It is not obvious.

While there is no multiply there is yet more gold in introducing the notation “nx” where “n” denotes an ordinary integer and “x” a point on some cubic curve.
Computing nx for large n is feasible thru the same trick that crypto code computes n^{m} mod k for large m.

If we define our curve over some finite field all of the above magic remains intact.

If you are competent at algebra and have more fortitude than I you can make the above rigourous.