Re: Re: Integer Points on elliptic curve
- To: mathgroup at smc.vnet.net
- Subject: [mg82475] Re: [mg82430] Re: [mg82411] Integer Points on elliptic curve
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Sun, 21 Oct 2007 05:08:36 -0400 (EDT)
- References: <16841352.1192877208698.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
This is quite a bit faster: ab[c_] := Reduce[{a^2 + 1689 b^2 == c^3, a >= 0, b >= 0}, {a, b}, Integers] /. {Equal[_, val_] :> val, Or -> List, False -> {}} /. And[a_Integer, b_Integer] :> {a, b, c} /. {{s__List} :> Sequence[s], {} -> Sequence[]} Timing[s1 = ab /@ Range[0, 244]] {0.703, {{0, 0, 0}, {1, 0, 1}, {8, 0, 4}, {27, 0, 9}, {64, 0, 16}, {125, 0, 25}, {144, 3, 33}, {216, 0, 36}, {343, 0, 49}, {434, 2, 58}, {241, 10, 61}, {512, 0, 64}, {729, 0, 81}, {1000, 0, 100}, {205, 32, 121}, {1331, 0, 121}, {1366, 14, 130}, {1152, 24, 132}, {1728, 0, 144}, {1276, 29, 145}, {2197, 0, 169}, {2744, 0, 196}, {1654, 59, 205}, {3375, 0, 225}, {3472, 16, 232}, {1928, 80, 244}}} Bob Hanlon's solution was: Timing[s2 = Select[Flatten[ Table[{a, b, (eqn[[1]])^(1/3)}, {b, 0, 80}, {a, 0, 2000}], 1], IntegerQ[Last[#]] &]] {7.141, {{0, 0, 0}, {1, 0, 1}, {8, 0, 4}, {27, 0, 9}, {64, 0, 16}, {125, 0, 25}, {216, 0, 36}, {343, 0, 49}, {512, 0, 64}, {729, 0, 81}, {1000, 0, 100}, {1331, 0, 121}, {1728, 0, 144}, {434, 2, 58}, {144, 3, 33}, {241, 10, 61}, {1366, 14, 130}, {1152, 24, 132}, {1276, 29, 145}, {205, 32, 121}, {1654, 59, 205}, {1928, 80, 244}}} The limits and solution order are different, so s1 is also a longer list: Complement[s1, s2] {{2197, 0, 169}, {2744, 0, 196}, {3375, 0, 225}, {3472, 16, 232}} Complement[s2, s1] {} Bobby On Sat, 20 Oct 2007 04:48:41 -0500, Bob Hanlon <hanlonr at cox.net> wrote: > Brute force method: > > eqn = a^2 + 1689 b^2 == c^3; > > soln = Select[ > Flatten[Table[{a, b, (eqn[[1]])^(1/3)}, {a, 0, 2000}, {b, 0, 80}], > 1], IntegerQ[Last[#]] &] > > {{0, 0, 0}, {1, 0, 1}, {8, 0, 4}, > {27, 0, 9}, {64, 0, 16}, > {125, 0, 25}, {144, 3, 33}, > {205, 32, 121}, {216, 0, 36}, > {241, 10, 61}, {343, 0, 49}, > {434, 2, 58}, {512, 0, 64}, > {729, 0, 81}, {1000, 0, 100}, > {1152, 24, 132}, {1276, 29, 145}, > {1331, 0, 121}, {1366, 14, 130}, > {1654, 59, 205}, {1728, 0, 144}, > {1928, 80, 244}} > > > Bob Hanlon > > ---- Artur <grafix at csl.pl> wrote: >> Who know how find by Mathematica integer solutions of elliptic equation: >> a^2+1689b^2=c^3 >> one can be find by procedure: >> Sort([ p[1] : p in IntegralPoints(EllipticCurve([0, 1689])) ]); >> but these procedure work only for b=0 >> >> BEST WISHES >> ARTUR JASINSKI >> >> >> >> > > > -- DrMajorBob at bigfoot.com