bsgs

113 days ago by RaghuPrasad_R

a=3 p=101 b=37 
       
m=ceil(sqrt(p-1)) 
       
list=[mod(a^i,p) for i in range(1,m+1)] if b in list: k=list.index(b)+1 else: g=mod(a^m,p) for q in range(0,m): list6=[mod(g*(a^(q*m+i)),p) for i in range(1,m+1)] print list6 if b in list6: k=(m*(q+1))+list6.index(b)+1 break 
       
[94, 80, 38, 13, 39, 16, 48, 43, 28, 84]
[50, 49, 46, 37, 10, 30, 90, 68, 2, 6]
[94, 80, 38, 13, 39, 16, 48, 43, 28, 84]
[50, 49, 46, 37, 10, 30, 90, 68, 2, 6]
       
24
24