> for d in [2..1000] do if d eq SquareFree(d) then h := ClassNumber(NumberField(x^2-d)); if h eq 1 then printf "%o, ", d; end if; end if; end for; 2, 3, 5, 6, 7, 11, 13, 14, 17, 19, 21, 22, 23, 29, 31, 33, 37, 38, 41, 43, 46, 47, 53, 57, 59, 61, 62, 67, 69, 71, 73, 77, 83, 86, 89, 93, 94, 97, 101, 103, 107, 109, 113, 118, 127, 129, 131, 133, 134, 137, 139, 141, 149, 151, 157, 158, 161, 163, 166, 167, 173, 177, 179, 181, 191, 193, 197, 199, 201, 206, 209, 211, 213, 214, 217, 227, 233, 237, 239, 241, 249, 251, 253, 262, 263, 269, 271, 277, 278, 281, 283, 293, 301, 302, 307, 309, 311, 313, 317, 329, 331, 334, 337, 341, 347, 349, 353, 358, 367, 373, 379, 381, 382, 383, 389, 393, 397, 398, 409, 413, 417, 419, 421, 422, 431, 433, 437, 446, 449, 453, 454, 457, 461, 463, 467, 478, 479, 487, 489, 491, 497, 501, 502, 503, 509, 517, 521, 523, 526, 537, 541, 542, 547, 553, 557, 563, 566, 569, 571, 573, 581, 587, 589, 593, 597, 599, 601, 607, 613, 614, 617, 619, 622, 631, 633, 641, 643, 647, 649, 653, 661, 662, 669, 673, 677, 681, 683, 691, 694, 701, 709, 713, 717, 718, 719, 721, 734, 737, 739, 743, 749, 751, 753, 757, 758, 766, 769, 773, 781, 787, 789, 797, 809, 811, 813, 821, 823, 827, 829, 838, 849, 853, 857, 859, 862, 863, 869, 877, 878, 881, 883, 886, 887, 889, 893, 907, 911, 913, 917, 919, 921, 926, 929, 933, 937, 941, 947, 953, 958, 967, 971, 973, 974, 977, 983, 989, 991, 997, 998,
In contrast, if we look at class numbers of quadratic imaginary fields, only a few at the beginning have class number .
> for d in [1..1000] do if d eq SquareFree(d) then h := ClassNumber(NumberField(x^2+d)); if h eq 1 then printf "%o, ", d; end if; end if; end for; 1, 2, 3, 7, 11, 19, 43, 67, 163It is a theorem that the above list of fields is the complete list with class number . More generally, it is possible (in theory), using deep work of Gross, Zagier, and Goldfeld involving zeta functions and elliptic curves, to enumerate all quadratic number fields with a given class number.
William Stein 2004-05-06