Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: compute distribution
  • Next by Date: Re: Is there anyway to save Graphics Output from command
  • Previous by thread: Re: Integer Points on elliptic curve
  • Next by thread: Problem showing a column object beside a graph using GraphicsGrid