# Minimize |n-2^x*3^y| over the integer

• I
Hi,
Is there a way to formulate the solution of minimization of:
abs(n-2^x*3^y)
Over integers x and y for any given integer n?
A numeric example that I found by trial and error is:
|6859-2^8*3^3|=53

Mark44
Mentor
Hi,
Is there a way to formulate the solution of minimization of:
abs(n-2^x*3^y)
Over integers x and y for any given integer n?
A numeric example that I found by trial and error is:
|6859-2^8*3^3|=53

That's hardly a minimum value. If n = x = y = 1, the result is |-5| = 5
If n = 6 and x = y = 1, the result is 0, which would be minimum value for the parameter n = 6.

Have you studied calculus? In particular multivariate calculus? There are a couple of techniques that can be used to function the minimum or maximum of a function of two variables. There is also the technique of Lagrange multipliers.

Hi Mark44,
n is not meant to be a variable. It is a known integer value and the problem is to solve for integer variables x and y such that the result has smallest integer value. So for my numeric example n can only be 6859. x and y can be any integers. the minimization solution is x=8 and y= 3, because no other integer values of x and/or y will result in a number less than 53.
As far as I know calculus does offer solutions over the rational field but not over the integer field.
Would the Lagrange multipliers offer a general solution for this?

Last edited:
I don't expect there to be a known solution for this. I am just looking for expert-confirmation or authoritative-reference on the subject.

mfb
Mentor
Positive integers? Otherwise there is no minimum.

Minimizing abs(2^x-3^y) apart from the case |8-9|=1 is still an open problem. Your problem doesn't look easier.

log(n)=x*log(2)+y*log(3) and some approximation techniques could help to reduce the number of cases to test.

Thank you for the reply mfb.
The log formula is very interesting.