# Find N integers with given difference between product and sum

• Difficulty Level : Medium
• Last Updated : 23 Aug, 2022

Given two integers N and D, Find a set of N integers such that the difference between their product and sum is equal to D.

Examples:

```Input : N = 2, D = 1
Output : 2 3
Explanation:
product = 2*3 = 6,
Sum = 2 + 3 = 5.
Hence, 6 - 5 = 1(D).

Input : N = 3, D = 5.
Output : 1 2 8
Explanation :
Product = 1*2*8 = 16
Sum = 1+2+8 = 11.
Hence, 16-11 = 5(D).```

A tricky solution is to keep the difference D to choose N numbers as N-2 ‘1’s, one ‘2’ and one remaining number as ‘N+D’.
Sum = (N-2)*(1) + 2 + (N+D) = 2*N + D.
Product = 1*2*(N+D) = 2*N+2*D
Difference = (2*N+2*D) – (2*N+D) = D.

## C++

 `// CPP code to generate numbers``// with difference between``// product and sum is D``#include ``using` `namespace` `std;` `// Function to implement calculation``void` `findNumbers(``int` `n, ``int` `d)``{``    ``for` `(``int` `i = 0; i < n - 2; i++)``        ``cout << ``"1"`  `<< ``" "``;` `    ``cout << ``"2"` `<< ``" "``;``    ``cout << n + d << endl;``}` `// Driver code``int` `main()``{``    ``int` `N = 3, D = 5;``    ``findNumbers(N, D);``    ``return` `0;``}`

## Java

 `// Java code to generate numbers``// with difference between``// product and sum is D``import` `java.io.*;` `class` `GFG {``    ` `    ``// Function to implement calculation``    ``static` `void` `findNumbers(``int` `n, ``int` `d)``    ``{``        ``for` `(``int` `i = ``0``; i < n - ``2``; i++)``            ``System.out.print(``"1"` `+ ``" "``);``    ` `        ``System.out.print(``"2"` `+ ``" "``);``        ``System.out.println(n + d);``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `N = ``3``, D = ``5``;``        ``findNumbers(N, D);``    ``}``}` `/* This code is contributed by Nikita Tiwari.*/`

## Python3

 `# Python3 code to generate numbers with``# difference between product and sum is D` `# Function to implement calculation``def` `pattern(n, d) :``    ` `    ``for` `i ``in` `range``(``0``, n ``-` `2``) :``        ``print``(``"1"``, end``=``" "``)``        ` `    ``print``(``"2"``, end``=``" "``)``    ``print``(n ``+` `d)` `# Driver code``N ``=` `3``D ``=` `5``pattern(N, D)`  `# This code is contributed by 'Akanshgupta'`

## C#

 `// C# code to generate numbers``// with difference between``// product and sum is D``using` `System;` `class` `GFG {``    ` `    ``// Function to implement calculation``    ``static` `void` `findNumbers(``int` `n, ``int` `d)``    ``{``        ``for` `(``int` `i = 0; i < n - 2; i++)``        ``Console.Write(``"1"` `+ ``" "``);``    ` `        ``Console.Write(``"2"` `+ ``" "``);``        ``Console.Write(n + d);``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``int` `N = 3, D = 5;``        ``findNumbers(N, D);``    ``}``}` `/* This code is contributed by vt_m.*/`

## PHP

 ``

## Javascript

 ``

Output :

` 1 2 8`

Time complexity : O(n)
Auxiliary Space : O(1)

My Personal Notes arrow_drop_up