# Print values of ‘a’ in equation (a+b) <= n and a+b is divisible by x

Given three numbers b, x, n. The task is to find the values of ‘a’ in equation (a+b) <= n such that a+b is divisible by x. If no such values are possible then print -1.

Examples:

```Input: b = 10, x = 6, n = 40
Output: 2 8 14 20 26

Input: b = 10, x = 1, n = 10
Output: -1
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: One can find the least possible value (b/x + 1)*x – b. Then we increase answer by x until it is not greater than n. Here (b/x + 1)*x is the least possible value which is divisible by x.

Below is the implementation of above approach:

## C++

 `// CPP program to Find values of a, in equation ` `// (a+b)<=n and a+b is divisible by x. ` `#include ` `using` `namespace` `std; ` ` `  `// function to Find values of a, in equation ` `// (a+b)<=n and a+b is divisible by x. ` `void` `PossibleValues(``int` `b, ``int` `x, ``int` `n) ` `{ ` `    ``// least possible which is divisible by x ` `    ``int` `leastdivisible = (b / x + 1) * x; ` ` `  `    ``int` `flag = 1; ` ` `  `    ``// run a loop to get required answer ` `    ``while` `(leastdivisible <= n) { ` ` `  `        ``if` `(leastdivisible - b >= 1) { ` `            ``cout << leastdivisible - b << ``" "``; ` ` `  `            ``// increase value by x ` `            ``leastdivisible += x; ` ` `  `            ``// answer is possible ` `            ``flag = 0; ` `        ``} ` `        ``else` `            ``break``; ` `    ``} ` ` `  `    ``if` `(flag) ` `        ``cout << -1; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `b = 10, x = 6, n = 40; ` ` `  `    ``// function call ` `    ``PossibleValues(b, x, n); ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java program to Find values of a, in equation ` `// (a+b)<=n and a+b is divisible by x. ` ` `  `import` `java.io.*; ` ` `  `class` `GFG { ` `  `  `// function to Find values of a, in equation ` `// (a+b)<=n and a+b is divisible by x. ` `static` `void` `PossibleValues(``int` `b, ``int` `x, ``int` `n) ` `{ ` `    ``// least possible which is divisible by x ` `    ``int` `leastdivisible = (b / x + ``1``) * x; ` ` `  `    ``int` `flag = ``1``; ` ` `  `    ``// run a loop to get required answer ` `    ``while` `(leastdivisible <= n) { ` ` `  `        ``if` `(leastdivisible - b >= ``1``) { ` `            ``System.out.print( leastdivisible - b + ``" "``); ` ` `  `            ``// increase value by x ` `            ``leastdivisible += x; ` ` `  `            ``// answer is possible ` `            ``flag = ``0``; ` `        ``} ` `        ``else` `            ``break``; ` `    ``} ` ` `  `    ``if` `(flag>``0``) ` `         ``System.out.println(-``1``); ` `} ` ` `  `// Driver code ` `    ``public` `static` `void` `main (String[] args) { ` `            ``int` `b = ``10``, x = ``6``, n = ``40``; ` ` `  `    ``// function call ` `    ``PossibleValues(b, x, n); ` `    ``} ` `} ` ` `  ` `  `// This code is contributed ` `// by shs `

## Python3

 `# Python3 program to Find values of a, in equation  ` `# (a+b)<=n and a+b is divisible by x.  ` ` `  `# function to Find values of a, in equation  ` `# (a+b)<=n and a+b is divisible by x.  ` `def` `PossibleValues(b, x, n) : ` ` `  `    ``# least possible which is divisible by x  ` `    ``leastdivisible ``=` `int``(b ``/` `x ``+` `1``) ``*` `x  ` ` `  `    ``flag ``=` `1` ` `  `    ``# run a loop to get required answer  ` `    ``while` `(leastdivisible <``=` `n) :  ` ` `  `        ``if` `(leastdivisible ``-` `b >``=` `1``) :  ` `            ``print``(leastdivisible ``-` `b ,end``=` `" "``)  ` ` `  `            ``# increase value by x  ` `            ``leastdivisible ``+``=` `x  ` ` `  `            ``# answer is possible  ` `            ``flag ``=` `0` `         `  `        ``else` `: ` `            ``break` `     `  ` `  `    ``if` `(flag !``=` `0``) : ` `        ``print``(``-``1``)  ` ` `  `# Driver code  ` `if` `__name__``=``=``'__main__'``: ` `    ``b ``=` `10` `    ``x ``=` `6` `    ``n ``=` `40` `# function call  ` `    ``PossibleValues(b, x, n)  ` ` `  `# This code is contributed by ` `# Smitha Dinesh Semwal `

## C#

 `// C# program to Find values of a, ` `// in equation (a+b)<=n and a+b  ` `// is divisible by x.  ` `using` `System; ` ` `  `class` `GFG {  ` `     `  `// function to Find values ` `// of a, in equation (a+b)<=n  ` `// and a+b is divisible by x.  ` `static` `void` `PossibleValues(``int` `b, ``int` `x, ``int` `n)  ` `{  ` `     `  `    ``// least possible which  ` `    ``// is divisible by x  ` `    ``int` `leastdivisible = (b / x + 1) * x;  ` ` `  `    ``int` `flag = 1;  ` ` `  `    ``// run a loop to get required answer  ` `    ``while` `(leastdivisible <= n) {  ` ` `  `        ``if` `(leastdivisible - b >= 1) { ` `             `  `            ``Console.Write( leastdivisible - b + ``" "``);  ` ` `  `            ``// increase value by x  ` `            ``leastdivisible += x;  ` ` `  `            ``// answer is possible  ` `            ``flag = 0;  ` `        ``}  ` `        ``else` `            ``break``;  ` `    ``}  ` ` `  `    ``if` `(flag > 0)  ` `        ``Console.WriteLine(-1);  ` `}  ` ` `  `    ``// Driver code  ` `    ``public` `static` `void` `Main ()  ` `    ``{  ` `        ``int` `b = 10, x = 6, n = 40;  ` ` `  `        ``// function call  ` `        ``PossibleValues(b, x, n);  ` `    ``}  ` `}  ` ` `  `// This code is contributed by Shubadeep `

## PHP

 `= 1) ` `        ``{ ` `            ``echo` `\$leastdivisible` `- ``\$b` `. ``" "``; ` ` `  `            ``// increase value by x ` `            ``\$leastdivisible` `+= ``\$x``; ` ` `  `            ``// answer is possible ` `            ``\$flag` `= 0; ` `        ``} ` `        ``else` `            ``break``; ` `    ``} ` ` `  `    ``if` `(``\$flag``) ` `        ``echo` `"-1"``; ` `} ` ` `  `// Driver code ` `\$b` `= 10; ` `\$x` `= 6; ` `\$n` `= 40; ` ` `  `// function call ` `PossibleValues(``\$b``, ``\$x``, ``\$n``); ` ` `  `// This code is contributed ` `// by ChitraNayal ` `?> `

Output:

```2 8 14 20 26
```

My Personal Notes arrow_drop_up

pawanasipugmailcom

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.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.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.