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