python穷举一元多次方程可能自然数解

已知四元一次方程x1+2x2+3x3+5x4=6,列出所有可能的自然数解,并特别求出使函数
f=2x1+3x2+4x3+5x4取最大值的解。求解题的python程序代码。

#!/usr/bin/python
for x1 in range(0, 7):
    for x2 in range(0, 7):
        for x3 in range(0, 7):
            for x4 in range(0, 7):
                if x1 + 2 * x2 + 3 * x3 + 5 * x4 == 6:
                    print(str(x1) + " " + str(x2) + " " + str(x3) + " " + str(x4) + " " + str(2**x1+3**x2+4**x3+5**x4));

0 0 2 0 19
0 3 0 0 30
1 0 0 1 9
1 1 1 0 10
2 2 0 0 15
3 0 1 0 14
4 1 0 0 21
6 0 0 0 67
可见x1=6其余都是0最大,是67