We investigate equations of the form *x*^{3} + *y*^{2} + b*x* + a = 0, where a and b are numbers. The solution space of an equation on this form is a curve in the *xy*-plane. See "What is Algebraic Geometry?" This curve has a certain shape, and we may wonder if other values of a and b give curves of the same shape. Instead of just trying arbitrary a's and b's and comparing the resulting curves, we use a theorem of algebraic geometry which says that the a and b values that give similar curves are a's and b's which themselves lie on a specific curve in the ab-plane.

Given an equation, for example, *x*^{3} - *y*^{2} = 0, we can plot all solutions to this equation to get the curve in Figure 1. The solutions (0,0), (1,1), and (1,-1) are marked as examples of points on the curve. All subsequent plots will be done on the same scale, but the numbers will be left out.

Figure 1: The algebraic curve of f(*x*) = *x*^{3} - *y*^{2}

**Remark.** The reader who is familiar with complex numbers will see that we get complex solutions for negative *x*-values. Due to the obvious difficulty of drawing complex numbers, we restrict ourselves to drawing only real solutions.

The most important task in algebraic geometry is classification. That is, given a set of curves we want to group similar curves. We interpret "similar" to mean curves of the same shape. The Weierstrass family are curves given by equations of the form *x*^{3} - *y*^{2} + b*x* + a = 0, where a and b can vary. For example a = 0 and b = 0 gives *x*^{3} - *y*^{2} = 0 as in Figure 1. Let us choose some different values for a and b and see what the corresponding curves look like.

Figure 1 to 4 show curves of different shape in the Weierstrass family. Given a and b, we want to be able to determine what kind of curve they will produce. To do this we must introduce a new curve, the discriminant, which is given by an equation of a and b.

Figure 2, 3 and 4: a = sqrt(4/27), b = -1; a = b = -1; and a = 0, b = 1.

Figure 5: The discriminant.

The discriminant is defined as the solution to 27*a*^{2} + 4*b*^{3} = 0. See Figure 5. The points in the figure are the a and b values that give the equations defining the curves in figure 1, 2, 3, and 4. For example, the point (1,1) (*a* = 1 and *b* = 1) in Figure 5 gives the equation *x*^{3} + *y*^{2} + 1*x* + 1 = 0. We now have a curve which points correspond to curves in the Weierstrass family. If a curve crosses itself (Figure 2) or has an abrupt change (the (0,0) point in Figure 1 we say that the curve is singular. The curves in Figure 3 and 4 are non-singular. As these examples indicate, it is possible to show that curves with (*a*,*b*) values above the discriminant are of the form of Figure 3. Curves with (*a*,*b*) values under the discriminant are of the form of Figure 4 and curves with (*a*,*b*) values on the discriminant are of the form of Figure 2 apart from (0,0) which is Figure 1.

Further, it is possible to show that two non-singular curves defined by (a_{1},b_{1}) and (a_{2},b_{2}) are similar if and only if j(a_{1},b_{1}) = j(a_{2},b_{2}), the 'j-function' being defined as

j(*a*,*b*) = *b*^{3} / (27*a*^{2} + 4*b*^{3}).

As an arbitrary example, let us now see which *a*'s and *b*'s give j(*a*,*b*) = 1/8. The algebraic curve corresponding to

*b*^{3} / (27*a*^{2} + 4*b*^{3}) - 1/8 = 0.

The two arbitrary points on the curve in Figure 6 give the curves in Figure 7. It can be shown that every set of similar curves in the Weierstrass family are defined by points (a,b) lying on a curve, like the one in Figure 6. In this way, all similar curves in the Weierstrass family are classified.

Figure 6: Two arbitrary points.

Figure 7: The two curves that correspond to the two points in Figure 6.