# Elliptic Curves defined over Z/nZ rings for general n

An Elliptic curve is the union of its affine part Eaff(Z/nZ)={ [x,y,1] in P2(Z/nZ) such that y2 =x3+ax+b } and the point at infinity O = [0,1,0]

P2(Z/nZ) is the projective plane:

T = { (x,y,z) in (Z/nZ)^3 such that gcd(x,y,z,n) = 1}

P2(Z/nZ) = (T / ~) where ~ is the equivalence relation defined by (x,y,z) ~ (x0,y0,z0) iff there is an INVERSIBLE element u in Z/nZ ⇤ such that (x,y,z) = u(x0,y0,z0).

I found those doc pages

http://fe.math.kobe-u.ac.jp/icms2010-...

http://doc.sagemath.org/html/en/refer...

I think to define an Elliptic Curve here with

```
q=10
E1 = EllipticCurve(Zmod(q),[0,1])
E1
```

Elliptic Curve defined by y^2 = x^3 + 1 over Ring of integers modulo 10

but

```
E1.points()
```

is not working. is there a method to get all the points of this Elliptic Curve ? its cardinality etc ????

The error

`AttributeError: 'EllipticCurve_generic_with_category' object has no attribute 'points'`

seems pretty clear. Maybe this should be a`NotImplementedError`

instead? Interestingly, for some composite`q`

we get a different error about it being a singular curve, so in those cases of course we never get to the point counting in the first place.do you see a way around that ?