07-Jan-2022 19:04:33 diophantine_nd_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 Test diophantine_nd(). diophantine_nd_nonnegative_test MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 diophantine_nd_nonnegative returns nonnegative solutions of a Diophantine equation in N variables. 2*x1+3*x2 = 18 4 solutions found. 1: 2*0+3*6 = 18 2: 2*3+3*4 = 18 3: 2*6+3*2 = 18 4: 2*9+3*0 = 18 6*x1+3*x2+13*x3 = 16 1 solutions found. 1: 6*0+3*1+13*1 = 16 12*x1+9*x2+7*x3 = 60 4 solutions found. 1: 12*0+9*2+7*6 = 60 2: 12*1+9*3+7*3 = 60 3: 12*2+9*4+7*0 = 60 4: 12*5+9*0+7*0 = 60 2*x1+3*x2+5*x3+6*x4 = 24 31 solutions found. 1: 2*0+3*0+5*0+6*4 = 24 2: 2*0+3*1+5*3+6*1 = 24 3: 2*0+3*2+5*0+6*3 = 24 4: 2*0+3*3+5*3+6*0 = 24 5: 2*0+3*4+5*0+6*2 = 24 6: 2*0+3*6+5*0+6*1 = 24 7: 2*0+3*8+5*0+6*0 = 24 8: 2*1+3*0+5*2+6*2 = 24 9: 2*1+3*2+5*2+6*1 = 24 10: 2*1+3*4+5*2+6*0 = 24 11: 2*2+3*0+5*4+6*0 = 24 12: 2*2+3*1+5*1+6*2 = 24 13: 2*2+3*3+5*1+6*1 = 24 14: 2*2+3*5+5*1+6*0 = 24 15: 2*3+3*0+5*0+6*3 = 24 16: 2*3+3*1+5*3+6*0 = 24 17: 2*3+3*2+5*0+6*2 = 24 18: 2*3+3*4+5*0+6*1 = 24 19: 2*3+3*6+5*0+6*0 = 24 20: 2*4+3*0+5*2+6*1 = 24 21: 2*4+3*2+5*2+6*0 = 24 22: 2*5+3*1+5*1+6*1 = 24 23: 2*5+3*3+5*1+6*0 = 24 24: 2*6+3*0+5*0+6*2 = 24 25: 2*6+3*2+5*0+6*1 = 24 26: 2*6+3*4+5*0+6*0 = 24 27: 2*7+3*0+5*2+6*0 = 24 28: 2*8+3*1+5*1+6*0 = 24 29: 2*9+3*0+5*0+6*1 = 24 30: 2*9+3*2+5*0+6*0 = 24 31: 2*12+3*0+5*0+6*0 = 24 2*x1+3*x2+5*x3+6*x4+7*x5 = 35 150 solutions found. 1: 2*0+3*0+5*0+6*0+7*5 = 35 2: 2*0+3*0+5*1+6*5+7*0 = 35 3: 2*0+3*0+5*2+6*3+7*1 = 35 4: 2*0+3*0+5*3+6*1+7*2 = 35 5: 2*0+3*0+5*7+6*0+7*0 = 35 6: 2*0+3*1+5*0+6*3+7*2 = 35 7: 2*0+3*1+5*1+6*1+7*3 = 35 8: 2*0+3*1+5*4+6*2+7*0 = 35 9: 2*0+3*1+5*5+6*0+7*1 = 35 10: 2*0+3*2+5*1+6*4+7*0 = 35 11: 2*0+3*2+5*2+6*2+7*1 = 35 12: 2*0+3*2+5*3+6*0+7*2 = 35 13: 2*0+3*3+5*0+6*2+7*2 = 35 14: 2*0+3*3+5*1+6*0+7*3 = 35 15: 2*0+3*3+5*4+6*1+7*0 = 35 16: 2*0+3*4+5*1+6*3+7*0 = 35 17: 2*0+3*4+5*2+6*1+7*1 = 35 18: 2*0+3*5+5*0+6*1+7*2 = 35 19: 2*0+3*5+5*4+6*0+7*0 = 35 20: 2*0+3*6+5*1+6*2+7*0 = 35 21: 2*0+3*6+5*2+6*0+7*1 = 35 22: 2*0+3*7+5*0+6*0+7*2 = 35 23: 2*0+3*8+5*1+6*1+7*0 = 35 24: 2*0+3*10+5*1+6*0+7*0 = 35 25: 2*1+3*0+5*0+6*2+7*3 = 35 26: 2*1+3*0+5*1+6*0+7*4 = 35 27: 2*1+3*0+5*3+6*3+7*0 = 35 28: 2*1+3*0+5*4+6*1+7*1 = 35 29: 2*1+3*1+5*0+6*5+7*0 = 35 30: 2*1+3*1+5*1+6*3+7*1 = 35 31: 2*1+3*1+5*2+6*1+7*2 = 35 32: 2*1+3*1+5*6+6*0+7*0 = 35 33: 2*1+3*2+5*0+6*1+7*3 = 35 34: 2*1+3*2+5*3+6*2+7*0 = 35 35: 2*1+3*2+5*4+6*0+7*1 = 35 36: 2*1+3*3+5*0+6*4+7*0 = 35 37: 2*1+3*3+5*1+6*2+7*1 = 35 38: 2*1+3*3+5*2+6*0+7*2 = 35 39: 2*1+3*4+5*0+6*0+7*3 = 35 40: 2*1+3*4+5*3+6*1+7*0 = 35 41: 2*1+3*5+5*0+6*3+7*0 = 35 42: 2*1+3*5+5*1+6*1+7*1 = 35 43: 2*1+3*6+5*3+6*0+7*0 = 35 44: 2*1+3*7+5*0+6*2+7*0 = 35 45: 2*1+3*7+5*1+6*0+7*1 = 35 46: 2*1+3*9+5*0+6*1+7*0 = 35 47: 2*1+3*11+5*0+6*0+7*0 = 35 48: 2*2+3*0+5*0+6*4+7*1 = 35 49: 2*2+3*0+5*1+6*2+7*2 = 35 50: 2*2+3*0+5*2+6*0+7*3 = 35 51: 2*2+3*0+5*5+6*1+7*0 = 35 52: 2*2+3*1+5*0+6*0+7*4 = 35 53: 2*2+3*1+5*2+6*3+7*0 = 35 54: 2*2+3*1+5*3+6*1+7*1 = 35 55: 2*2+3*2+5*0+6*3+7*1 = 35 56: 2*2+3*2+5*1+6*1+7*2 = 35 57: 2*2+3*2+5*5+6*0+7*0 = 35 58: 2*2+3*3+5*2+6*2+7*0 = 35 59: 2*2+3*3+5*3+6*0+7*1 = 35 60: 2*2+3*4+5*0+6*2+7*1 = 35 61: 2*2+3*4+5*1+6*0+7*2 = 35 62: 2*2+3*5+5*2+6*1+7*0 = 35 63: 2*2+3*6+5*0+6*1+7*1 = 35 64: 2*2+3*7+5*2+6*0+7*0 = 35 65: 2*2+3*8+5*0+6*0+7*1 = 35 66: 2*3+3*0+5*1+6*4+7*0 = 35 67: 2*3+3*0+5*2+6*2+7*1 = 35 68: 2*3+3*0+5*3+6*0+7*2 = 35 69: 2*3+3*1+5*0+6*2+7*2 = 35 70: 2*3+3*1+5*1+6*0+7*3 = 35 71: 2*3+3*1+5*4+6*1+7*0 = 35 72: 2*3+3*2+5*1+6*3+7*0 = 35 73: 2*3+3*2+5*2+6*1+7*1 = 35 74: 2*3+3*3+5*0+6*1+7*2 = 35 75: 2*3+3*3+5*4+6*0+7*0 = 35 76: 2*3+3*4+5*1+6*2+7*0 = 35 77: 2*3+3*4+5*2+6*0+7*1 = 35 78: 2*3+3*5+5*0+6*0+7*2 = 35 79: 2*3+3*6+5*1+6*1+7*0 = 35 80: 2*3+3*8+5*1+6*0+7*0 = 35 81: 2*4+3*0+5*0+6*1+7*3 = 35 82: 2*4+3*0+5*3+6*2+7*0 = 35 83: 2*4+3*0+5*4+6*0+7*1 = 35 84: 2*4+3*1+5*0+6*4+7*0 = 35 85: 2*4+3*1+5*1+6*2+7*1 = 35 86: 2*4+3*1+5*2+6*0+7*2 = 35 87: 2*4+3*2+5*0+6*0+7*3 = 35 88: 2*4+3*2+5*3+6*1+7*0 = 35 89: 2*4+3*3+5*0+6*3+7*0 = 35 90: 2*4+3*3+5*1+6*1+7*1 = 35 91: 2*4+3*4+5*3+6*0+7*0 = 35 92: 2*4+3*5+5*0+6*2+7*0 = 35 93: 2*4+3*5+5*1+6*0+7*1 = 35 94: 2*4+3*7+5*0+6*1+7*0 = 35 95: 2*4+3*9+5*0+6*0+7*0 = 35 96: 2*5+3*0+5*0+6*3+7*1 = 35 97: 2*5+3*0+5*1+6*1+7*2 = 35 98: 2*5+3*0+5*5+6*0+7*0 = 35 99: 2*5+3*1+5*2+6*2+7*0 = 35 100: 2*5+3*1+5*3+6*0+7*1 = 35 101: 2*5+3*2+5*0+6*2+7*1 = 35 102: 2*5+3*2+5*1+6*0+7*2 = 35 103: 2*5+3*3+5*2+6*1+7*0 = 35 104: 2*5+3*4+5*0+6*1+7*1 = 35 105: 2*5+3*5+5*2+6*0+7*0 = 35 106: 2*5+3*6+5*0+6*0+7*1 = 35 107: 2*6+3*0+5*1+6*3+7*0 = 35 108: 2*6+3*0+5*2+6*1+7*1 = 35 109: 2*6+3*1+5*0+6*1+7*2 = 35 110: 2*6+3*1+5*4+6*0+7*0 = 35 111: 2*6+3*2+5*1+6*2+7*0 = 35 112: 2*6+3*2+5*2+6*0+7*1 = 35 113: 2*6+3*3+5*0+6*0+7*2 = 35 114: 2*6+3*4+5*1+6*1+7*0 = 35 115: 2*6+3*6+5*1+6*0+7*0 = 35 116: 2*7+3*0+5*0+6*0+7*3 = 35 117: 2*7+3*0+5*3+6*1+7*0 = 35 118: 2*7+3*1+5*0+6*3+7*0 = 35 119: 2*7+3*1+5*1+6*1+7*1 = 35 120: 2*7+3*2+5*3+6*0+7*0 = 35 121: 2*7+3*3+5*0+6*2+7*0 = 35 122: 2*7+3*3+5*1+6*0+7*1 = 35 123: 2*7+3*5+5*0+6*1+7*0 = 35 124: 2*7+3*7+5*0+6*0+7*0 = 35 125: 2*8+3*0+5*0+6*2+7*1 = 35 126: 2*8+3*0+5*1+6*0+7*2 = 35 127: 2*8+3*1+5*2+6*1+7*0 = 35 128: 2*8+3*2+5*0+6*1+7*1 = 35 129: 2*8+3*3+5*2+6*0+7*0 = 35 130: 2*8+3*4+5*0+6*0+7*1 = 35 131: 2*9+3*0+5*1+6*2+7*0 = 35 132: 2*9+3*0+5*2+6*0+7*1 = 35 133: 2*9+3*1+5*0+6*0+7*2 = 35 134: 2*9+3*2+5*1+6*1+7*0 = 35 135: 2*9+3*4+5*1+6*0+7*0 = 35 136: 2*10+3*0+5*3+6*0+7*0 = 35 137: 2*10+3*1+5*0+6*2+7*0 = 35 138: 2*10+3*1+5*1+6*0+7*1 = 35 139: 2*10+3*3+5*0+6*1+7*0 = 35 140: 2*10+3*5+5*0+6*0+7*0 = 35 141: 2*11+3*0+5*0+6*1+7*1 = 35 142: 2*11+3*1+5*2+6*0+7*0 = 35 143: 2*11+3*2+5*0+6*0+7*1 = 35 144: 2*12+3*0+5*1+6*1+7*0 = 35 145: 2*12+3*2+5*1+6*0+7*0 = 35 146: 2*13+3*1+5*0+6*1+7*0 = 35 147: 2*13+3*3+5*0+6*0+7*0 = 35 148: 2*14+3*0+5*0+6*0+7*1 = 35 149: 2*15+3*0+5*1+6*0+7*0 = 35 150: 2*16+3*1+5*0+6*0+7*0 = 35 diophantine_nd_nonnegative_test(): diophantine_nd_nonnegative_bounded() returns solutions of a Diophantine equation in N variables which are nonnegative, and bounded by x(i) <= m(i). 2*x1+3*x2 = 18 Bounds imposed on Diophantine equation solutions: 0 <= x(1) <= 10 0 <= x(2) <= 10 4 solutions found. 1: 2*0+3*6 = 18 2: 2*3+3*4 = 18 3: 2*6+3*2 = 18 4: 2*9+3*0 = 18 2*x1+3*x2 = 18 Bounds imposed on Diophantine equation solutions: 0 <= x(1) <= 5 0 <= x(2) <= 4 1 solutions found. 1: 2*3+3*4 = 18 2*x1+3*x2 = 18 Bounds imposed on Diophantine equation solutions: 0 <= x(1) <= 1 0 <= x(2) <= 1 0 solutions found. 2*x1+3*x2+5*x3+6*x4 = 24 Bounds imposed on Diophantine equation solutions: 0 <= x(1) <= 6 0 <= x(2) <= 6 0 <= x(3) <= 3 0 <= x(4) <= 3 23 solutions found. 1: 2*0+3*1+5*3+6*1 = 24 2: 2*0+3*2+5*0+6*3 = 24 3: 2*0+3*3+5*3+6*0 = 24 4: 2*0+3*4+5*0+6*2 = 24 5: 2*0+3*6+5*0+6*1 = 24 6: 2*1+3*0+5*2+6*2 = 24 7: 2*1+3*2+5*2+6*1 = 24 8: 2*1+3*4+5*2+6*0 = 24 9: 2*2+3*1+5*1+6*2 = 24 10: 2*2+3*3+5*1+6*1 = 24 11: 2*2+3*5+5*1+6*0 = 24 12: 2*3+3*0+5*0+6*3 = 24 13: 2*3+3*1+5*3+6*0 = 24 14: 2*3+3*2+5*0+6*2 = 24 15: 2*3+3*4+5*0+6*1 = 24 16: 2*3+3*6+5*0+6*0 = 24 17: 2*4+3*0+5*2+6*1 = 24 18: 2*4+3*2+5*2+6*0 = 24 19: 2*5+3*1+5*1+6*1 = 24 20: 2*5+3*3+5*1+6*0 = 24 21: 2*6+3*0+5*0+6*2 = 24 22: 2*6+3*2+5*0+6*1 = 24 23: 2*6+3*4+5*0+6*0 = 24 2*x1+3*x2+5*x3+6*x4+7*x5 = 35 Bounds imposed on Diophantine equation solutions: 0 <= x(1) <= 6 0 <= x(2) <= 2 0 <= x(3) <= 2 0 <= x(4) <= 2 0 <= x(5) <= 2 17 solutions found. 1: 2*0+3*2+5*2+6*2+7*1 = 35 2: 2*1+3*1+5*2+6*1+7*2 = 35 3: 2*2+3*0+5*1+6*2+7*2 = 35 4: 2*2+3*2+5*1+6*1+7*2 = 35 5: 2*3+3*0+5*2+6*2+7*1 = 35 6: 2*3+3*1+5*0+6*2+7*2 = 35 7: 2*3+3*2+5*2+6*1+7*1 = 35 8: 2*4+3*1+5*1+6*2+7*1 = 35 9: 2*4+3*1+5*2+6*0+7*2 = 35 10: 2*5+3*0+5*1+6*1+7*2 = 35 11: 2*5+3*1+5*2+6*2+7*0 = 35 12: 2*5+3*2+5*0+6*2+7*1 = 35 13: 2*5+3*2+5*1+6*0+7*2 = 35 14: 2*6+3*0+5*2+6*1+7*1 = 35 15: 2*6+3*1+5*0+6*1+7*2 = 35 16: 2*6+3*2+5*1+6*2+7*0 = 35 17: 2*6+3*2+5*2+6*0+7*1 = 35 diophantine_nd_nonnegative_bounded_test Normal end of execution. diophantine_nd_positive_test MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 diophantine_nd_positive returns the positive solutions of a Diophantine equation in N variables. 2*x1+3*x2 = 18 2 solutions found. 1: 2*3+3*4 = 18 2: 2*6+3*2 = 18 6*x1+3*x2+13*x3 = 16 0 solutions found. 12*x1+9*x2+7*x3 = 60 1 solutions found. 1: 12*1+9*3+7*3 = 60 2*x1+3*x2+5*x3+6*x4 = 24 4 solutions found. 1: 2*1+3*2+5*2+6*1 = 24 2: 2*2+3*1+5*1+6*2 = 24 3: 2*2+3*3+5*1+6*1 = 24 4: 2*5+3*1+5*1+6*1 = 24 2*x1+3*x2+5*x3+6*x4+7*x5 = 35 10 solutions found. 1: 2*1+3*1+5*1+6*3+7*1 = 35 2: 2*1+3*1+5*2+6*1+7*2 = 35 3: 2*1+3*3+5*1+6*2+7*1 = 35 4: 2*1+3*5+5*1+6*1+7*1 = 35 5: 2*2+3*1+5*3+6*1+7*1 = 35 6: 2*2+3*2+5*1+6*1+7*2 = 35 7: 2*3+3*2+5*2+6*1+7*1 = 35 8: 2*4+3*1+5*1+6*2+7*1 = 35 9: 2*4+3*3+5*1+6*1+7*1 = 35 10: 2*7+3*1+5*1+6*1+7*1 = 35 diophantine_nd_test(): Normal end of execution. 07-Jan-2022 19:04:33