# How to solve $x_1x_2…x_n=k$ given constraints on ${x_1,…, x_n}$?

I have got a product of variables which equals a constant :

$$x_1x_2...x_n=k$$

I have initial values for $${x_1,..., x_n}$$ and therefore $$k$$. My question is, how could I determine the new values of $${x_1,..., x_n}$$ when $$k$$ changes by a some amount? e.g. $$k + \Delta k$$, given that I know any $${x_i}$$ is constrained to values between $$0.01$$ and $$10$$.

For example, say I have $$n=6$$, such that $$x_1=0.5$$, $$x_2=1.2$$, $$x_3=1.5$$, $$x_4=3$$, $$x_5=0.3$$, $$x_6=7$$, then

$$x_1x_2...x_6= 0.5 \cdot 1.2 \cdot 1.5 \cdot 3 \cdot 0.3 \cdot 7 = 5.67$$

I would like to know by how much the $${x_1,..., x_6}$$ need to change in order to equate to $$5.67 + 0.5 = 6.17$$ (i.e. $$k=5.67$$ and $$\Delta k = 0.5$$)

Any ideas on how I can go about solving this problem? I've been cracking my head for a few days without knowing what could work. Thanks!

## 2 Answers

Since the constraint is a product form, it might help to think of the changes also as fractional (multiplicative) changes as opposed to additive changes. I.e.

• $$k \rightarrow k' = a' k$$

• $$x_i \rightarrow x'_i = a'_i x_i$$

• Then $$x'_1 x'_2 ... x'_n = k' \iff a'_1 a'_2 ... a'_n = a'$$ and you can see you have lots of (in fact $$n-1$$ degrees of) freedom in the choices of $$a'_i$$.

In the special case that the changes are "small", we have $$a' = (1 + \delta')$$ and $$a'_1 = (1+ \delta'_i)$$ where all the deltas are small (i.e. $$\ll 1$$). In that case an approximate solution is $$\delta'_1 + \delta'_2 + ... + \delta'_n = \delta'$$, if we ignore the higher order terms (products of deltas). This may be more intuitive when rephrased as something like: a $$2$$% increase in $$k$$ can be made from $$10$$ separate $$0.2$$% increases in the $$x$$'s (or $$5$$ increases of $$0.5$$% plus $$2$$ decreases of $$0.25$$%, etc). This is not exact so if you want exact equality you need to adjust a little bit.

There will be many ways to do this. If you want to keep the relative values of the $$x_i$$ the same, for example, i.e., if you want to scale everything up by the same factor, then we have $$x_i' = ax_i$$ for some $$a$$, where $$x_i$$ is the old value and $$x_i'$$ is the new. Therefore $$x_1'x_2'\cdots x_n' = k + \Delta k\\ (ax_1)(ax_2)\cdots(ax_n) = k + \Delta k\\ a^n(x_1x_2\cdots x_n) = k + \Delta k\\ a^nk = k + \Delta k\\ a^n = 1 + \frac{\Delta k}k$$ So you can find $$a$$ by taking the $$n$$th root of $$1 + \frac{\Delta k}k$$. You'd have to check that the new values are still within the bounds you've set.

• thanks so much! that's a neat solution! So you mentioned there are 'many way to do this'. Can you think of other ways apart from this solution? e.g. what if we didn't want to keep relative values of $x_i$ the same but $x_i^\prime = x_i + \Delta x_i$? – tsando Mar 6 '19 at 15:48
• @tsando Glad to help! When I say there are many ways, I mean that there will generally be infinitely many solutions because the constraints are so loose. (Your question is a bit like: "Find two numbers that add to 10." Well, we could have 5+5, or 4+6, or 0.01+9.99, or ...) If you want to add the same constant value $k$ to each $x_i$, that is, $x_i' = x_i + k$, then you'll end up with a polynomial of degree $n$. In that case, you'd probably have to resort to numerical methods to find an approximate answer. – Théophile Mar 6 '19 at 16:11
• Example of how tricky this is: suppose we have $(x_1,x_2,x_3)=(2,3,4)$, so $x_1x_2x_3=24$, and we want to find $k$ such that $(2+k)(3+k)(4+k)=25$. This gives a cubic polynomial in $k$: $k^3+9k^2+26k-1=0$. You can see that this is a lot less straightforward than the case where $x_i'=ax_i$. – Théophile Mar 6 '19 at 16:14
• In general, starting from any solution, you can just multiply any $x_i$ by some constant $c$ and divide another $x_j$ by $c$ to maintain the product. – Théophile Mar 6 '19 at 16:17
• actually my real problem is a bit more complex than this - I have posted it here math.stackexchange.com/questions/3137829/… Could you please take a look and see if somehow this solution could be applied or if I need something totally different? – tsando Mar 6 '19 at 17:07