| Current Path : /var/www/html/venkat/check3/ |
| Current File : //var/www/html/venkat/check3/pair.py |
import gcd
k = 0
a = []
def binary(n):
if n > 1:
binary(n//2)
a.append(n%2)
return a
dec = int(input("Enter an integer m: "))
p = []
p.append(long(input("Enter p1: ")))
p.append(long(input("Enter p2: ")))
aa = long(input("Enter a: "))
pri = long(input("Enter prime: "))
#//t = ;
t = p[:];
j = binary(dec)
print j
inv = 0;
lam = 0;
d = 0;
n = [0,0]
o = [0,0]
for m in range(1,len(j)):
lam1 = ((3 * (t[0] * t[0])) + (aa))
inv = gcd.modinv((2*t[1]),pri)
lam = (lam1 * inv) % pri
n[0] = ((lam *lam) - (2*t[0])) % pri
n[1] = ((lam *(t[0] - n[0])) - t[1]) % pri
t = n[:]
print inv,lam, lam1
if (j[m]==1):
lam = (p[1] - t[1])
inv = gcd.modinv((p[0] - t[0]),pri)
lam = (lam * inv) % pri
n[0] = ((lam * lam) - t[0] - p[0]) % pri
n[1] = ((lam *(t[0] - n[0])) - t[1]) % pri
t = n[:]
print t