Bill Allombert on Thu, 04 Oct 2018 18:56:25 +0200

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

change to qfbsolve to handle arbitrary integers

Dear PARI developers,

I have changed qfbsolve in master so that:
1) it handles non prime target value
2) it returns all the soution under the action of SO(Q,Z).

The side effect is that this breaks backward compatibility because
it used to return a single solution instead of a t_VEC of solutions. 

Some example

? qfbsolve(Qfb(1,0,27),3937)
%6 = [[7,12],[47,8],[47,-8],[7,-12]]

We can check that 
7^2+27*12^2 = 3937
47^2+27*8^2 = 3937

In this SO(Q,Z)={Id, -Id} so the actual number of solutions is 8.

? qfbsolve(Qfb(1,0,-32),5152)
%7 = [[-88,-9],[120,-17],[-72,1],[200,33],[-232,-39],[72,1],[120,17],[-88,9]]

There is actually an infinite number of solutions, since SO(Q,Z) is
infinite in this case.

Please test!