1gettime; allocatemem(20*10^6)
2v=[321,520,577,840,904,1009,1129,1229,1297,1509,1901,1937,2305,2920,3281,2^15-199];
3for(i=1, #v, print(v[i]": "quadhilbert(v[i])))
4
5{
6v = [
7[y^2-145,1],
8[y^2-229,1],
9[y^2-401,1],
10[y^2-577,1],
11[y^2-761,1],
12[y^3-y^2-17*y-16,1],
13[y^3-14*y-7,1],
14[y^3-y^2-16*y+22,1],
15[y^3-36*y-45,1],
16[y^3-21*y-35,1],
17/* tougher: */
18[y^3-12*y-1,1],
19[y^3-y^2-17*y-16,1],
20[y^3-y^2-30*y-27,1],
21[y^3-14*y-7,1],
22[y^3-y^2-16*y+22,1],
23[y^3-y^2-30*y+71,1],
24[y^3-y^2-16*y-6,1],
25[y^3-36*y-45,1],
26[y^3-12*y-1,[5,y+1]],
27[y^3-y^2-37*y+64,1],
28[y^3-y^2-9*y+8,1],
29[y^3-21*y-35,1],
30[y^3-y^2-16*y+8,1],
31[y^3-y^2-4*y-1,7],
32[y^3-12*y-1,[5,y+1]],
33[y^3-y^2-7*y+6,[29,y-13]]
34];
35}
36
37allocatemem(20*10^6)
38
39do(w) =
40{
41  local(pol, mod, bnf, bnr, relpol);
42  pol = w[1];
43  mod = w[2]; bnf = bnfinit(pol);
44  if (type(mod) == "t_VEC", mod = idealhnf(bnf, mod[1], mod[2]));
45  bnr = bnrinit(bnf, mod, 1);
46  bnrstark(bnr, 0);
47}
48for(i = 1, #v, print(v[i]": "do(v[i])));
49
50print("Total time spent: ",gettime);
51