allocatemem(20*10^6)
v=[321,520,577,840,904,1009,1129,1229,1297,1509,1901,1937,2305,2584,2920,3281,2^15-199];
for(i=1, #v, print(v[i]": "quadhilbert(v[i])))

{
v = [
[y^2-145,1],
[y^2-229,1],
[y^2-401,1],
[y^2-577,1],
[y^2-761,1],
[y^3-y^2-17*y-16,1],
[y^3-14*y-7,1],
[y^3-y^2-16*y+22,1],
[y^3-36*y-45,1],
[y^3-21*y-35,1],
/* tougher: */
[y^3-12*y-1,1],
[y^3-y^2-17*y-16,1],
[y^3-y^2-30*y-27,1],
[y^3-14*y-7,1],
[y^3-y^2-16*y+22,1],
[y^3-y^2-30*y+71,1],
[y^3-y^2-16*y-6,1],
[y^3-36*y-45,1],
[y^3-12*y-1,[5,y+1]],
[y^3-y^2-37*y+64,1],
[y^3-y^2-9*y+8,1],
[y^3-21*y-35,1],
[y^3-y^2-16*y+8,1],
[y^3-y^2-4*y-1,7],
[y^3-y^2-7*y+6,[29,y-13]]
];
}

do(w) =
{ my(mod, bnf);
  mod = w[2]; bnf = bnfinit(w[1]);
  if (type(mod) == "t_VEC", mod = idealhnf(bnf, mod[1], mod[2]));
  bnrstark(bnrinit(bnf, mod, 1), 0);
}
for(i = 1, #v, print(v[i]": "do(v[i])));

\\ quadray(31897,1)

bnrstark(bnrinit(bnfinit(quadpoly(40,y)),120,1),matdiagonal([1,1,2,2]))

\\#1776
quadhilbert(2669)
