Neha Patil (Editor)

Pocklington's algorithm

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Pocklington's algorithm is a technique for solving a congruence of the form

Contents

x 2 a ( mod p ) ,

where x and a are integers and a is a quadratic residue.

The algorithm is one of the first efficient methods to solve such a congruence. It was described by H.C. Pocklington in 1917.

The algorithm

(Note: all are taken to mean ( mod p ) , unless indicated otherwise.)

Inputs:

  • p, an odd prime
  • a, an integer which is a quadratic residue ( mod p ) .
  • Outputs:

  • x, an integer satisfying x 2 a . Note that if x is a solution, −x is a solution as well and since p is odd, x x . So there is always a second solution when one is found.
  • Solution method

    Pocklington separates 3 different cases for p:

    The first case, if p = 4 m + 3 , with m N , the solution is x ± a m + 1 .

    The second case, if p = 8 m + 5 , with m N and

    1. a 2 m + 1 1 , the solution is x ± a m + 1 .
    2. a 2 m + 1 1 , 2 is a (quadratic) non-residue so 4 2 m + 1 1 . This means that ( 4 a ) 2 m + 1 1 so y ± ( 4 a ) m + 1 is a solution of y 2 4 a . Hence x ± y / 2 or, if y is odd, x ± ( p + y ) / 2 .

    The third case, if p = 8 m + 1 , put D a , so the equation to solve becomes x 2 + D 0 . Now find by trial and error t 1 and u 1 so that N = t 1 2 D u 1 2 is a quadratic non-residue. Furthermore let

    t n = ( t 1 + u 1 D ) n + ( t 1 u 1 D ) n 2 , u n = ( t 1 + u 1 D ) n ( t 1 u 1 D ) n 2 D .

    The following equalities now hold:

    t m + n = t m t n + D u m u n , u m + n = t m u n + t n u m and t n 2 D u n 2 = N n .

    Supposing that p is of the form 4 m + 1 (which is true if p is of the form 8 m + 1 ), D is a quadratic residue and t p t 1 p t 1 , u p u 1 p D ( p 1 ) / 2 u 1 . Now the equations

    t 1 t p 1 t 1 + D u p 1 u 1 and u 1 t p 1 u 1 + t 1 u p 1

    give a solution t p 1 1 , u p 1 0 .

    Let p 1 = 2 r . Then 0 u p 1 2 t r u r . This means that either t r or u r is divisible by p. If it is u r , put r = 2 s and proceed similarly with 0 2 t s u s . Not every u i is divisible by p, for u 1 is not. The case u m 0 with m odd is impossible, because t m 2 D u m 2 N m holds and this would mean that t m 2 is congruent to a quadratic non-residue, which is a contradiction. So this loop stops when t l 0 for a particular l. This gives D u l 2 N l , and because D is a quadratic residue, l must be even. Put l = 2 k . Then 0 t l t k 2 + D u k 2 . So the solution of x 2 + D 0 is got by solving the linear congruence u k x ± t k .

    Examples

    The following are 3 examples, corresponding to the 3 different cases in which Pocklington divided forms of p. All are taken with the modulus in the example.

    Example 1

    Solve the congruence

    x 2 18 ( mod 23 ) .

    The modulus is 23. This is 23 = 4 5 + 3 , so m = 5 . The solution should be x ± 18 6 ± 8 ( mod 23 ) , which is indeed true: ( ± 8 ) 2 64 18 ( mod 23 ) .

    Example 2

    Solve the congruence

    x 2 10 ( mod 13 ) .

    The modulus is 13. This is 13 = 8 1 + 5 , so m = 1 . Now verifying 10 2 m + 1 10 3 1 ( mod 13 ) . So the solution is x ± y / 2 ± ( 4 a ) 2 / 2 ± 800 ± 7 ( mod 13 ) . This is indeed true: ( ± 7 ) 2 49 10 ( mod 13 ) .

    Example 3

    Solve the congruence x 2 13 ( mod 17 ) . For this, write x 2 13 = 0 . First find a t 1 and u 1 such that t 1 2 + 13 u 1 2 is a quadratic nonresidue. Take for example t 1 = 3 , u 1 = 1 . Now find t 8 , u 8 by computing

    t 2 = t 1 t 1 + 13 u 1 u 1 = 9 13 = 4 13 ( mod 17 ) , , u 2 = t 1 u 1 + t 1 u 1 = 3 + 3 6 ( mod 17 ) .

    And similarly t 4 = 299 7 ( mod 17 ) u 4 = 156 3 ( mod 17 ) such that t 8 = 68 0 ( mod 17 ) u 8 = 42 8 ( mod 17 ) .

    Since t 8 = 0 , the equation 0 t 4 2 + 13 u 4 2 7 2 13 3 2 ( mod 17 ) which leads to solving the equation 3 x ± 7 ( mod 17 ) . This has solution x ± 8 ( mod 17 ) . Indeed, ( ± 8 ) 2 = 64 13 ( mod 17 ) .

    References

    Pocklington's algorithm Wikipedia