Related Articles
Number of integral solutions of the equation x1 + x2 +…. + xN = k
• Difficulty Level : Easy
• Last Updated : 05 Dec, 2018

Given N and K. The task is to count the number of the integral solutions of a linear equation having N variable as given below:

x1 + x2+ x3…+ xN-1+…+xN = K

Examples:

```Input: N = 3, K = 3
Output: 10

Input: N = 2, K = 2
Output: 3
```

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

Approach: This problem can be solved using the concept of Permutation and Combination. Below are the direct formulas for finding non-negative and positive integral solutions respectively.

Number of non-negative integral solutions of equation x1 + x2 + …… + xn = k is given by (n+k-1)! / (n-1)!*k!.
Number of positive integral solutions of equation x1 + x2 + ….. + xn = k is given by (k-1)! / (n-1)! * (k-n)!.

Below is the implementation of above approach:

## c++

 `// C++ program for above implementation ``#include`` ` `using` `namespace` `std ;`` ` `int` `nCr(``int` `n, ``int` `r)``{``    ``int` `fac = {1} ;``     ` `    ``for` `(``int` `i = 1 ; i < n + 1 ; i++)``    ``{``        ``fac[i] = fac[i - 1] * i ;``    ``}``     ` `    ``int` `ans = fac[n] / (fac[n - r] * ``                        ``fac[r]) ;``    ``return` `ans ;``}`` ` `// Driver Code``int` `main()``{``    ``int` `n = 3 ;``    ``int` `k = 3 ;``     ` `    ``int` `ans = nCr(n + k - 1 , k) + ``              ``nCr(k - 1, n - 1);``     ` `    ``cout << ans ;``     ` `    ``return` `0 ; ``}`` ` `// This code is contributed``// by ANKITRAI1`

## Java

 `// Java program for above implementation``import` `java.io.*;`` ` `class` `GFG ``{``static` `int` `nCr(``int` `n, ``int` `r)``{``    ``int` `fac[] = ``new` `int``[``100``] ;``    ``for``(``int` `i = ``0``; i < n; i++)``    ``fac[i] = ``1``;``     ` `    ``for` `(``int` `i = ``1` `; i < n + ``1` `; i++)``    ``{``        ``fac[i] = fac[i - ``1``] * i ;``    ``}``     ` `    ``int` `ans = fac[n] / (fac[n - r] * ``                        ``fac[r]);``    ``return` `ans ;``}`` ` `// Driver Code``public` `static` `void` `main (String[] args) ``{``    ``int` `n = ``3` `;``    ``int` `k = ``3` `;``     ` `    ``int` `ans = nCr(n + k - ``1` `, k) + ``              ``nCr(k - ``1``, n - ``1``);``     ` `    ``System.out.println(ans) ;``}``}`` ` `// This code is contributed``// by anuj_67`

## Python3

 `# Python implementation of ``# above approach`` ` `# Calculate nCr i.e binomial ``# cofficent nCr = n !/(r !*(n-r)!)``def` `nCr(n, r):`` ` `    ``# first find factorial ``    ``# upto n``    ``fac ``=` `list``()``    ``fac.append(``1``)``    ``for` `i ``in` `range``(``1``, n ``+` `1``):``        ``fac.append(fac[i ``-` `1``] ``*` `i)`` ` `    ``# use nCr formula``    ``ans ``=` `fac[n] ``/` `(fac[n ``-` `r] ``*` `fac[r])``    ``return` `ans`` ` `# n = number of variables``n ``=` `3`` ` `# sum of n variables = k``k ``=` `3`` ` `# find number of solutions``ans ``=` `nCr(n ``+` `k ``-` `1``, k) ``+` `nCr(k ``-` `1``, n ``-` `1``)`` ` `print``(ans)`` ` `# This code is contributed``# by ChitraNayal`

## C#

 `// C# program for above implementation``using` `System; `` ` `class` `GFG ``{``static` `int` `nCr(``int` `n, ``int` `r)``{``    ``int``[] fac = ``new` `int`` ;``    ``for``(``int` `i = 0; i < n; i++)``    ``fac[i] = 1;``     ` `    ``for` `(``int` `i = 1 ; i < n + 1 ; i++)``    ``{``        ``fac[i] = fac[i - 1] * i ;``    ``}``     ` `    ``int` `ans = fac[n] / (fac[n - r] * ``                        ``fac[r]);``    ``return` `ans ;``}`` ` `// Driver Code``public` `static` `void` `Main () ``{``    ``int` `n = 3 ;``    ``int` `k = 3 ;``     ` `    ``int` `ans = nCr(n + k - 1 , k) + ``              ``nCr(k - 1, n - 1);``     ` `    ``Console.Write(ans) ;``}``}`` ` `// This code is contributed ``// by ChitraNayal`

## PHP

 ``
Output:
```11.0
```

Applications of the above concepts:

1. Number of non-negative integral solutions of equation x1 + x2 +…+ xn = k is equal to the number of ways in which k identical balls can be distributed into N unique boxes.
2. Number of positive integral solutions of equation x1 + x2 + … + xn = k is equal to the number of ways in which k identical balls can be distributed into N unique boxes such that each box must contain at-least 1 ball.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up