/************************************************************************
   Anomalous j's
   These are the anomalous j-invariants in Fp for primes p < 1000.
   A j-invariant is anomalous if there exists *some* elliptic 
   curve E/Fp having modular invariant j such that #E(Fp) = p, 
   equivalently, such that E possesses an Fp-rational point 
   of order p.
 *************************************************************************/

Anomalous      := [[] : i in [1..997]];

Anomalous[5]   := [4];
Anomalous[7]   := [0, 3];
Anomalous[11]  := [6];
Anomalous[13]  := [2, 9];
Anomalous[17]  := [3];
Anomalous[19]  := [0, 4, 6];
Anomalous[23]  := [4, 16];
Anomalous[29]  := [4, 8];
Anomalous[31]  := [10, 24];
Anomalous[37]  := [0, 16, 35];
Anomalous[41]  := [10];
Anomalous[43]  := [18, 23, 25, 32, 33];
Anomalous[47]  := [13, 21];
Anomalous[53]  := [3, 31, 36];
Anomalous[59]  := [29, 45];
Anomalous[61]  := [0, 7, 21, 23, 59];
Anomalous[67]  := [2, 26];
Anomalous[71]  := [3, 39, 61];
Anomalous[73]  := [11, 14, 40, 67];
Anomalous[79]  := [6, 13, 28, 40, 62, 71];
Anomalous[83]  := [12, 26, 63];
Anomalous[89]  := [35, 45, 69, 81];
Anomalous[97]  := [30, 54, 71, 81, 91];
Anomalous[101] := [16, 99];
Anomalous[103] := [18, 33, 53, 74, 82, 87];
Anomalous[107] := [8, 60];
Anomalous[109] := [48, 62, 88, 102];
Anomalous[113] := [3, 22, 26, 55, 69, 82];
Anomalous[127] := [0, 23, 70, 79, 92];
Anomalous[131] := [68, 88, 102, 114, 125];
Anomalous[137] := [7, 8, 95];
Anomalous[139] := [2, 50, 61, 109];
Anomalous[149] := [8, 16, 50, 70];
Anomalous[151] := [40, 75, 96, 99, 125];
Anomalous[157] := [15, 53, 122, 133];
Anomalous[163] := [12, 50, 56, 80, 112, 124, 131, 144];
Anomalous[167] := [79, 94, 134, 158];
Anomalous[173] := [31, 39, 76, 82, 161];
Anomalous[179] := [15, 20, 54, 59];
Anomalous[181] := [60, 61, 83, 124];
Anomalous[191] := [22, 77, 153, 163];
Anomalous[193] := [56, 91, 100, 101, 109, 120];
Anomalous[197] := [16, 59, 93, 99, 116];
Anomalous[199] := [23, 81, 102, 168];
Anomalous[211] := [44, 56, 59, 99, 163, 174];
Anomalous[223] := [9, 13, 25, 143, 161, 183, 204, 206, 222];
Anomalous[227] := [87, 150, 162];
Anomalous[229] := [47, 76, 83, 89, 130, 142, 151, 171];
Anomalous[233] := [42, 47, 106, 182, 188, 198, 220];
Anomalous[239] := [72, 95, 127, 146];
Anomalous[241] := [33, 39, 66, 77, 105, 164, 210, 215, 223];
Anomalous[251] := [59, 163, 196, 227];
Anomalous[257] := [97, 124, 129, 163];
Anomalous[263] := [4, 66, 154, 176, 249];
Anomalous[269] := [49, 148, 158, 169, 257, 258, 262];
Anomalous[271] := [0, 7, 26, 200, 246, 255, 269];
Anomalous[277] := [11, 27, 137, 156, 174, 179, 264, 268];
Anomalous[281] := [28, 98, 153, 179, 257];
Anomalous[283] := [28, 46, 119, 123, 193, 270, 276, 280];
Anomalous[293] := [6, 9, 64, 74, 123, 247, 254];
Anomalous[307] := [98, 132, 138, 142];
Anomalous[311] := [54, 129, 251, 273];
Anomalous[313] := [20, 24, 26, 84, 92, 167, 212, 233, 235, 238, 250, 260, 261, 263, 278];
Anomalous[317] := [48, 66, 82, 147, 152, 291];
Anomalous[331] := [0, 21, 36, 44, 98, 99, 195, 226, 236, 246];
Anomalous[337] := [90, 171, 272, 296, 305, 325];
Anomalous[347] := [100, 117, 237, 275];
Anomalous[349] := [20, 91, 104, 136, 168, 209, 246, 262, 272, 281, 284, 306];
Anomalous[353] := [5, 9, 12, 157];
Anomalous[359] := [24, 176, 189, 304];
Anomalous[367] := [39, 63, 161, 236, 276];
Anomalous[373] := [40, 73, 98, 141, 196, 198, 246, 258, 275, 285, 319, 352];
Anomalous[379] := [2, 12, 122, 134, 141, 261, 282, 292, 298, 307, 341, 355];
Anomalous[383] := [5, 17, 64, 74, 76, 174, 239, 253, 272, 324, 330];
Anomalous[389] := [58, 381, 382, 383];
Anomalous[397] := [0, 75, 121, 156, 233, 247, 264, 266, 312];
Anomalous[401] := [84, 115, 140, 173, 273, 400];
Anomalous[409] := [133, 141, 175, 235, 246, 283, 304, 347];
Anomalous[419] := [61, 183, 225, 278, 295, 300, 404];
Anomalous[421] := [99, 124, 138, 153, 199, 233, 318, 385, 401, 407];
Anomalous[431] := [95, 119, 155, 233, 246];
Anomalous[433] := [9, 14, 44, 114, 219, 225, 361, 407];
Anomalous[439] := [25, 30, 36, 118, 139, 180, 209, 250, 254, 258, 303, 319, 337, 351, 374, 419];
Anomalous[443] := [164, 185, 206, 263, 271, 319, 339, 426];
Anomalous[449] := [30, 61, 186, 201, 263, 280, 289, 314];
Anomalous[457] := [26, 63, 132, 168, 189, 250, 270, 290, 323, 381, 415, 451];
Anomalous[461] := [109, 240, 321, 350, 455, 459];
Anomalous[463] := [14, 122, 164, 165, 188, 192, 263, 312, 332, 371, 375, 378, 404, 457];
Anomalous[467] := [233, 266, 309, 339, 401];
Anomalous[479] := [125, 298, 375, 388, 413, 452];
Anomalous[487] := [48, 57, 87, 261, 288, 297, 322, 383];
Anomalous[491] := [27, 249, 294, 304, 408, 445];
Anomalous[499] := [30, 60, 170, 214, 257, 262, 301, 387];
Anomalous[503] := [214, 235, 252, 271, 311, 313, 318];
Anomalous[509] := [108, 120, 157, 158, 217, 274, 390, 471];
Anomalous[521] := [60, 96, 114, 190, 266, 320, 331];
Anomalous[523] := [7, 32, 103, 166, 223, 230, 300, 302, 320, 417, 455, 478];
Anomalous[541] := [24, 259, 348, 408, 424, 472, 517, 536];
Anomalous[547] := [0, 57, 131, 141, 208, 227, 230, 258, 320, 355, 393, 440, 500, 543];
Anomalous[557] := [38, 83, 247, 298, 544, 551];
Anomalous[563] := [5, 52, 220, 286, 308, 448, 537];
Anomalous[569] := [19, 25, 100, 288, 349, 364, 385, 458, 520, 527];
Anomalous[571] := [40, 93, 135, 153, 475, 528];
Anomalous[577] := [30, 61, 148, 149, 310, 323, 387, 504];
Anomalous[587] := [152, 177, 346, 494, 563];
Anomalous[593] := [14, 70, 81, 90, 101, 143, 207, 236, 253, 348, 451, 465, 557];
Anomalous[599] := [5, 66, 199, 233, 253, 495, 540, 590];
Anomalous[601] := [117, 286, 359, 393, 432, 474, 489, 517];
Anomalous[607] := [13, 79, 245, 266, 334, 361, 364, 380, 444, 487, 508, 509, 546, 591];
Anomalous[613] := [60, 146, 166, 218, 342, 355, 434, 543];
Anomalous[617] := [35, 151, 173, 191, 224, 319, 561];
Anomalous[619] := [36, 39, 66, 78, 120, 169, 230, 250, 276, 306, 312, 368, 384, 421, 551];
Anomalous[631] := [0, 3, 4, 18, 208, 274, 318, 405, 547, 550, 582];
Anomalous[641] := [238, 266, 320, 373, 381, 563];
Anomalous[643] := [14, 34, 78, 92, 101, 138, 177, 242, 264, 266, 278, 291, 358, 397];
Anomalous[647] := [82, 205, 271, 301, 397, 497, 517, 608];
Anomalous[653] := [58, 68, 143, 172, 192, 518, 553, 639];
Anomalous[659] := [43, 132, 198, 209, 219, 307, 339, 404, 419, 558, 590, 627];
Anomalous[661] := [18, 45, 131, 181, 219, 363, 439, 479, 565, 583];
Anomalous[673] := [21, 32, 46, 57, 60, 141, 167, 214, 244, 287, 309, 329, 389, 394, 400, 419, 432, 436, 530, 538, 587, 615, 617, 641];
Anomalous[677] := [13, 57, 66, 383, 443, 524, 552];
Anomalous[683] := [37, 87, 311, 356, 391, 404, 417, 438, 523, 626, 676];
Anomalous[691] := [2, 65, 81, 239, 286, 291, 305, 328, 344, 459, 609, 645, 657, 675, 679];
Anomalous[701] := [3, 25, 123, 210, 420, 466, 497, 663, 687];
Anomalous[709] := [33, 70, 133, 197, 223, 251, 373, 374, 405, 439, 476, 490, 581, 634, 638, 653, 684, 707];
Anomalous[719] := [28, 71, 181, 208, 477, 522, 613, 628, 644, 651, 703, 705];
Anomalous[727] := [110, 158, 195, 329, 335, 429, 483, 496, 505, 518, 537, 654];
Anomalous[733] := [21, 24, 42, 118, 154, 179, 226, 271, 279, 341, 350, 450, 663, 721];
Anomalous[739] := [24, 68, 73, 79, 88, 240, 247, 287, 317, 405, 518, 670];
Anomalous[743] := [19, 34, 37, 117, 213, 278, 286, 347, 436, 480, 611];
Anomalous[751] := [92, 300, 313, 374, 473, 537, 565, 582];
Anomalous[757] := [69, 139, 162, 174, 223, 276, 324, 367, 404, 406, 481, 715];
Anomalous[761] := [210, 286, 300, 304, 370, 373, 514, 530, 598, 601, 611, 669];
Anomalous[769] := [108, 140, 172, 184, 292, 476, 494, 509, 570, 621, 671, 716, 760, 766];
Anomalous[773] := [29, 37, 96, 125, 284, 513, 524, 575, 580, 656];
Anomalous[787] := [37, 56, 140, 290, 302, 336, 448, 514, 547, 644];
Anomalous[797] := [76, 123, 200, 208, 389, 744, 747];
Anomalous[809] := [205, 207, 456, 503, 618, 757];
Anomalous[811] := [46, 273, 400, 449, 527, 638, 667, 724];
Anomalous[821] := [50, 114, 217, 243, 473, 546, 762, 776, 792];
Anomalous[823] := [14, 77, 112, 236, 250, 252, 634, 734, 813, 814];
Anomalous[827] := [54, 114, 242, 247, 324, 351, 363, 532, 616];
Anomalous[829] := [6, 134, 138, 162, 273, 278, 315, 601];
Anomalous[839] := [6, 68, 161, 285, 333, 365, 627, 734];
Anomalous[853] := [19, 113, 203, 254, 276, 293, 340, 395, 459, 463, 498, 598, 676, 685, 792];
Anomalous[857] := [35, 71, 406, 436, 532, 556];
Anomalous[859] := [134, 159, 191, 256, 296, 299, 410, 435, 476, 487, 518, 531, 570, 614, 837, 855];
Anomalous[863] := [88, 116, 164, 228, 306, 392, 410, 427, 638, 697, 719, 770];
Anomalous[877] := [52, 71, 263, 264, 438, 485, 697, 815];
Anomalous[881] := [75, 177, 373, 413, 522, 630];
Anomalous[883] := [40, 153, 181, 203, 241, 251, 276, 298, 333, 345, 409, 454, 473, 599, 623, 642];
Anomalous[887] := [143, 208, 279, 294, 481, 751, 771, 812, 878];
Anomalous[907] := [108, 249, 351, 382, 404, 457, 557, 753, 831, 840];
Anomalous[911] := [154, 230, 281, 356, 506, 542, 691, 770, 865];
Anomalous[919] := [0, 56, 63, 177, 191, 228, 354, 372, 378, 470, 488, 552, 594, 637, 736, 740, 873];
Anomalous[929] := [15, 204, 262, 310, 447, 472, 542, 684, 699, 800, 848, 880, 890, 894];
Anomalous[937] := [86, 121, 154, 483, 500, 563, 630, 674, 730, 778, 829, 888];
Anomalous[941] := [37, 71, 517, 609, 793, 868];
Anomalous[947] := [92, 253, 598, 601, 610, 651, 713, 900];
Anomalous[953] := [75, 89, 231, 317, 323, 328, 346, 593, 703, 910];
Anomalous[967] := [48, 83, 108, 116, 152, 218, 350, 421, 490, 671, 770, 890, 907, 922];
Anomalous[971] := [49, 97, 174, 243, 376, 515, 589, 728];
Anomalous[977] := [135, 202, 507, 690, 814, 890, 895];
Anomalous[983] := [20, 118, 140, 176, 195, 236, 394, 470, 498, 800, 820];
Anomalous[991] := [56, 140, 236, 418, 441, 531, 634, 933];
Anomalous[997] := [41, 62, 91, 288, 409, 455, 484, 560, 624, 645, 648, 682, 819, 930, 987];

