Ask Your Question

How to get all the solutions possible of the question

asked 2014-08-22 19:53:53 +0200

this post is marked as community wiki

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 flag offensive 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.

kcrisman gravatar imagekcrisman ( 2014-08-22 20:05:40 +0200 )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 )

Tummala Dhanvi gravatar imageTummala Dhanvi ( 2014-08-22 20:12:43 +0200 )edit

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

tmonteil gravatar imagetmonteil ( 2014-08-22 20:18:06 +0200 )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 :)

Tummala Dhanvi gravatar imageTummala Dhanvi ( 2014-08-22 20:27:06 +0200 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2014-08-22 21:02:41 +0200

tmonteil gravatar image

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]]
edit flag offensive delete link 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

Tummala Dhanvi gravatar imageTummala Dhanvi ( 2014-08-22 21:32:23 +0200 )edit

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

tmonteil gravatar imagetmonteil ( 2014-08-22 21:55:11 +0200 )edit

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

Tummala Dhanvi gravatar imageTummala Dhanvi ( 2014-08-23 13:47:41 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2014-08-22 19:53:53 +0200

Seen: 238 times

Last updated: Aug 22 '14