How to get all the solutions possible of the question

This post is a wiki. Anyone with karma >750 is welcome to improve it.

I have 20 variable, and I don't have the twenty relations exactly and few of them are of the form of x1*x2=18 (considering x1 and x2 as variables) and other of the form of x5-x2=3 and so on

Thanks in advance for helping me :)

edit retag close merge delete

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.

( 2014-08-22 13:05:40 -0500 )edit

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 )

( 2014-08-22 13:12:43 -0500 )edit

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

( 2014-08-22 13:18:06 -0500 )edit

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 :)

( 2014-08-22 13:27:06 -0500 )edit

Sort by » oldest newest most voted

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]]

more

ya your are correct it is a programming question :)(as the equations also contain % modulus which i can't solve it using sage) I have to break my head for the solution :P

( 2014-08-22 14:32:23 -0500 )edit

Yup. For % equations, they are also strongly reducing the set of possibilities. Good luck, do not hesitate to post your progress here.

( 2014-08-22 14:55:11 -0500 )edit

No the thing becomes more complicated because the equations are of the form x16%x9 =2 which is more difficult to solve :)

( 2014-08-23 06:47:41 -0500 )edit