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.
Input: A = 4, D = 9, P = 11
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
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
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:
- Prime Factorization using Sieve O(log n) for multiple queries
- Sum of each element raised to (prime-1) % prime
- Quick ways to check for Prime and find next Prime in Java
- Find coordinates of a prime number in a Prime Spiral
- Check for an array element that is co-prime with all others
- Sum of element whose prime factors are present in array
- Nearest element with at-least one common prime factor
- Longest Prime Subarray after removing one element
- Count pairs in an array such that at least one element is prime
- All possible co-prime distinct element pairs within a range [L, R]
- Check if each element of the given array is the product of exactly K prime numbers
- Find the multiple of x which is closest to a^b
- Find the largest multiple of 2, 3 and 5
- Find the largest possible k-multiple set
- Find multiple of x closest to or a ^ b (a raised to power b)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.