VOOZH about

URL: https://www.geeksforgeeks.org/dsa/find-first-element-in-ap-which-is-multiple-of-given-prime/

⇱ Find First element in AP which is multiple of given prime - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Find First element in AP which is multiple of given prime

Last Updated : 23 May, 2022

Given the first term (A) and common difference (D) of an Arithmetic Progression, and a prime number (P). The task is to find the position of the first element in the given AP which is a multiple of the given prime number P.
Examples
 

Input: A = 4, D = 9, P = 11 
Output: 2 
Explanation
The third term of the given AP is 
a multiple of prime number 11. 
First Term = 4 
Second Term = 4+9 = 13 
Third Term = 4+2*9 = 22
Input: A = 5, D = 6, P = 7 
Output: 5 
Explanation
The sixth term of the given AP is 
a multiple of prime number 7. 
First Term = 5 
Second Term = 5+6 = 11 
Third Term = 5+2*6 = 17 
Fourth Term = 5+3*6 = 23 
Fifth Term = 5+4*6 = 29 
Sixth Term = 5+5*5 = 35 
 


 


Approach:
Let the term be AN. Therefore, 
 

AN = (A + (N-1)*D)


Now, it is given that AN is a multiple of P. Then, 
 

A + (N-1)*D = k*P

Where, k is a constant.


Now let A be (A % P) and D be (D % P). So, we have (N-1)*D = (k*P - A). 
Adding and subtracting P on RHS, we get: 
 

(N-1)*D = P(k-1) + (P-A), 

Where P-A is a non-negative number 
(since A is replaced by A%P which is less than P)


Finally taking mod on both sides: 
 

 ((N-1)*D)%P = (P-A)%P
 or, ((N-1)D)%P = P-A


Lets find a X < P, such that (D*X)%P = 1. This X is known as the inverse modulo of D with respect to P.
Thus answer N is: 
 

((X*(P-A)) % P) + 1. 


Below is the implementation of above approach:
 


Output: 
2

 

Time Complexity: O(log y)

Auxiliary Space: O(1)

Comment