The cuspidal subgroup of J0(N) is the subgroup generated by the degree-0 divisors on X0(N) of the form (alpha)-(beta), where alpha and beta are cusps. This web page contains a table of cuspidal subgroups. Using modular symbols we can compute the cuspidal subgroup, as an abstract abelian group. Integration of homology against cusp forms provides a natural map
H1(X0(N),Z;cusps) --> H1(X0(N),Z).By the Abel-Jacobi theorem, the cuspidal subgroup is isomorphic to the quotient of the image of H1(X0(N),Z;cusps) by the subgroup H1(X0(N),Z).
The modular symbols approach to computing the cuspidal subgroup has the advantage that it is theoretically no more complicated for N highly composite than for N prime; it does not rely on any special properties of N. However, it is really only applicable when the corresponding space of modular symbols can be computed, which in practice means that N should have less than 5 decimal digits. There are other methods which may be much more efficient in special cases. For example, when N is prime Andrew Ogg showed that the cuspidal subgroup is cyclic of order equal to the numerator of (N-1)/12. More generally, he computed the cuspidal subgroup when N=pq is the product of two primes. See also papers of Ligozat and others.
C[14] := [ 6 ]; C[20] := [ 6 ]; C[26] := [ 21 ];I think that this is sufficient evidence to conjecture that these are the only non-prime cases in which the cuspidal subgroup is cyclic. If so, is this already proven?
(Observation: Note that in each of the above cases N=pq with X0(p) and X0(q) both of genus 0.)
> M:=ModularSymbols(20); > M; Full Modular symbols space of level 20, weight 2, and dimension 7 > e:=M ! <1, [Cusps()|0,Infinity()] >; // the path from 0 to infinity > e; -1*{oo, 0} > J0of20:=CuspidalSubspace(M); > SubgroupOfTorus(J0of20, e); Abelian Group isomorphic to Z/6 Defined on 1 generator Relations: 6*$.1 = 0 > SubgroupOfTorus(J0of20, IntegralBasis(M)); // generated by all cusps Abelian Group isomorphic to Z/6 Defined on 1 generator Relations: 6*$.1 = 0 > // Let's do another example. > M := ModularSymbols(100); > J0of100:=CuspidalSubspace(M); > SubgroupOfTorus(J0of100, IntegralBasis(M)); // generated by all cusps Abelian Group isomorphic to Z/6 + Z/30 + Z/30 + Z/30 + Z/30 Defined on 5 generators Relations: 6*$.1 = 0 30*$.2 = 0 30*$.3 = 0 30*$.4 = 0 30*$.5 = 0 > M:=ModularSymbols(77); > J0of77:=CuspidalSubspace(M); > SubgroupOfTorus(J0of77, IntegralBasis(M)); Abelian Group isomorphic to Z/10 + Z/60 Defined on 2 generators Relations: 10*$.1 = 0 60*$.2 = 0 > M:=ModularSymbols(97); > SubgroupOfTorus(CuspidalSubspace(M), IntegralBasis(M)); Abelian Group isomorphic to Z/8 Defined on 1 generator Relations: 8*$.1 = 0 > Numerator((97-1)/12); 8