It is not really a Sage question but a programming question. If your numbers were only 0 and 1, you could have tried an exhaustive search (using for example `itertools.product([0,1], repeat=20)`

. But testing 10^20 cases is impossible, so you need to inspect your equations to reduce the set of possiblities. For example, `x5-x2=3`

tells you that `x5`

can be deduced from `x2`

(so you will not have to iterate over it) and that `x2`

is between 0 and 6 ; `x1*x2=18`

tells you that `x2`

can be deduced from `x1`

(so you will not have to iterate over it either) and `x1`

can only take the values 2, 3, 6, 9.

You can also try to solve your system symbolically and see how many parameters are free, but you should be aware that it is not very reliable:

```
sage: var('x1 x2 x3 x4')
(x1, x2, x3, x4)
sage: solve([x1*x2==18, x4-x2==4], x1,x2,x3,x4)
[[x1 == 18/r1, x2 == r1, x3 == r2, x4 == r1 + 4]]
```

Hi! In order for this question to be answered, you need to provide a lot more information - such as what you have tried specifically. Have you used any Sage for this? Usually a linear system or the `solve` command will be helpful, based on your very vague question.

I will get my question more clearly i need a 20 digit number which satisfies a set of conditions such as d18 + d19 = 3 ( considering that d18 and d19 are the corresponding digits of the number) it tried making all the digits as variables and find all the solutions possible )

So, your variables can only take values 0 and 1 ?

no way my variable are digits which can have the value 0-9 I will say you the question once more I need to get a 20 digit number of which the relation between the digits are defined :)