Re: Is it possible to have several solutions in this wa y to this equation using Pari/ɢᴘ ?

Laël Cellier <[email protected]>
Newsgroups gmane.comp.mathematics.pari.user
Message-ID <[email protected]>
Ok.

though I admit I used this as part of the Kunerth’s algorithm…
and after the following code from the thread last year :

nfr=nfroots(,xx);
print("nfr=",nfr);
{
   foreach(nfr,X,
     Y=Mod(alpha*X+beta,b);
     if(lift(Y^2)==c,
       print("X=",X);
       print("Y=",Mod(lift(Y),semiprime));
       print("-Y=",Mod(-lift(Y),semiprime));
       print("Y^2=",Mod(lift(Y)^2,semiprime) )));
}

the end result is the same square root than with the original nfroot 
(when beta=0). I suppose then when modular inverse are exluded that it 
means it’s impossible to use the algorithm to get more than 1 possible 
square root ?

Cordialement,

Le 25/01/2025 à 12:26, Bill Allombert a écrit :
> On Sat, Jan 25, 2025 at 11:34:34AM +0100, Laël Cellier wrote:
>> Oui,
>>
>> Though I’d like to find other nfroots values given such initial inputs…
> You can use the function I provided.
>
> fun(V,W,b,c,f)=
> {
> my(A= (-4*W^2*b*f+4*W^4*c), B = (-4*V*W*b*f+8*V*W^3*c)/2, C = 
> b^2*f^2+4*V^2*W^2*c);
> my(M=[A, B, 0; B, C, 0; 0, 0, -1]);
> my(S=qfsolve(M));
> my(beta =S[1]/S[2]);
> my(alpha= W*(V+W*beta));
> my(X=nfroots(,alpha^2*x^2+(2*alpha*beta-f*b)*x+(beta^2-c)));
> [alpha,beta,X];
> }
>
> Then one get
>
> [alpha, beta,X] = fun(V,W,b,c,f);
>
> ? alpha
> %12 = 
> -4180572546532158292278454142928666898146832680251024517983166235549996866457463625641813260586575779196664910573656996328431370516487393422559951029010876416586647166710244772350178099099618887593929936011318605706333374790648799565747747747561947250858017026766816415725437778202649010183207102576212750748135057263603141004437390038337911000152260109200201058346971040459320496802802301131571820036166693387212506103166741562118958988034328700974427922415964682112189387592813583381733167516458481948652743252684612101923172981549774492120807150063338763749210936339908775337732314066796727025818787181846214184221923610775161865542769994173571543693201424049580560482622721565114959862604847790194010517550442220655090091817011313539885397132610770833607380656525772796225889856348233175585529525872015832633185556927483750069081231848276531038569943395243141588370577330303878534658346065270579066123937284487619885028558513613850687309241680694943195370410619768514844951355759869316467650570612713838336564935958755899222980761665982884365037955185720294076412106450194271889/25
> ? beta
> %13 = 
> -672225628067123147116558149881995710798276995011447987050592328976012714865450985916447995662328919412047497279423045117446686729257128275949500746711043539189609725096112283848011986679159419553919508258509140939280500687680096737399531725624206572451821801127194059612210107252008495654751179194156314087179604128231565028033956354284599827623105506753176633926911713425185713779171315276262107447531504708473972729375105320057836498161030991644012650913993856801096153646999371792888290083986221329352989125748813940274976373895395812973914959320432965507828213792019827258803534256546308413647072827145489240887133613964672582561783150543532894610277494904922885667981168421365684201818690509788680019717332275925513478852164737660971344539051206444984192470274604219167707476386543960680385929829179479402230347862231026387872217799903692210388580045747193829740200677896152713759174914475170921132879055170900968153557141/621900203143507540299291235115041475720508671983046645926801396672339663042813373324041813111683010979449390037318880936304666091135011937935140396872157900
>
> Though beta is not an integer, one can find other solutions using qfparam.
>
> Cheers,
> Bill.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.