Нет общего решения этой проблемы. Если вы знаете свойства функции, можно определить некоторые границы переменных и затем протестировать все комбинации. Но это не очень эффективно.
Вы можете приблизить решение с помощью scipy.optimize.leastsq, а затем округлить результаты до целых чисел. Качество результата, конечно, зависит от структуры функции.