Home License -- for personal use only. Not for government, academic, research, commercial, or other organizational use. 13-May-2025 13:08:17 diophantine_nd_test(): MATLAB/Octave version 9.11.0.2358333 (R2021b) Update 7 Test diophantine_nd(). diophantine_nd_nonnegative_test(): 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 1*x1+4*x2+5*x3+8*x4+11*x5 = 29 80 solutions found. 1: 1*0+4*0+5*1+8*3+11*0 = 29 2: 1*0+4*0+5*2+8*1+11*1 = 29 3: 1*0+4*1+5*5+8*0+11*0 = 29 4: 1*0+4*2+5*1+8*2+11*0 = 29 5: 1*0+4*2+5*2+8*0+11*1 = 29 6: 1*0+4*4+5*1+8*1+11*0 = 29 7: 1*0+4*6+5*1+8*0+11*0 = 29 8: 1*1+4*0+5*4+8*1+11*0 = 29 9: 1*1+4*1+5*0+8*3+11*0 = 29 10: 1*1+4*1+5*1+8*1+11*1 = 29 11: 1*1+4*2+5*4+8*0+11*0 = 29 12: 1*1+4*3+5*0+8*2+11*0 = 29 13: 1*1+4*3+5*1+8*0+11*1 = 29 14: 1*1+4*5+5*0+8*1+11*0 = 29 15: 1*1+4*7+5*0+8*0+11*0 = 29 16: 1*2+4*0+5*0+8*2+11*1 = 29 17: 1*2+4*0+5*1+8*0+11*2 = 29 18: 1*2+4*1+5*3+8*1+11*0 = 29 19: 1*2+4*2+5*0+8*1+11*1 = 29 20: 1*2+4*3+5*3+8*0+11*0 = 29 21: 1*2+4*4+5*0+8*0+11*1 = 29 22: 1*3+4*0+5*2+8*2+11*0 = 29 23: 1*3+4*0+5*3+8*0+11*1 = 29 24: 1*3+4*1+5*0+8*0+11*2 = 29 25: 1*3+4*2+5*2+8*1+11*0 = 29 26: 1*3+4*4+5*2+8*0+11*0 = 29 27: 1*4+4*0+5*5+8*0+11*0 = 29 28: 1*4+4*1+5*1+8*2+11*0 = 29 29: 1*4+4*1+5*2+8*0+11*1 = 29 30: 1*4+4*3+5*1+8*1+11*0 = 29 31: 1*4+4*5+5*1+8*0+11*0 = 29 32: 1*5+4*0+5*0+8*3+11*0 = 29 33: 1*5+4*0+5*1+8*1+11*1 = 29 34: 1*5+4*1+5*4+8*0+11*0 = 29 35: 1*5+4*2+5*0+8*2+11*0 = 29 36: 1*5+4*2+5*1+8*0+11*1 = 29 37: 1*5+4*4+5*0+8*1+11*0 = 29 38: 1*5+4*6+5*0+8*0+11*0 = 29 39: 1*6+4*0+5*3+8*1+11*0 = 29 40: 1*6+4*1+5*0+8*1+11*1 = 29 41: 1*6+4*2+5*3+8*0+11*0 = 29 42: 1*6+4*3+5*0+8*0+11*1 = 29 43: 1*7+4*0+5*0+8*0+11*2 = 29 44: 1*7+4*1+5*2+8*1+11*0 = 29 45: 1*7+4*3+5*2+8*0+11*0 = 29 46: 1*8+4*0+5*1+8*2+11*0 = 29 47: 1*8+4*0+5*2+8*0+11*1 = 29 48: 1*8+4*2+5*1+8*1+11*0 = 29 49: 1*8+4*4+5*1+8*0+11*0 = 29 50: 1*9+4*0+5*4+8*0+11*0 = 29 51: 1*9+4*1+5*0+8*2+11*0 = 29 52: 1*9+4*1+5*1+8*0+11*1 = 29 53: 1*9+4*3+5*0+8*1+11*0 = 29 54: 1*9+4*5+5*0+8*0+11*0 = 29 55: 1*10+4*0+5*0+8*1+11*1 = 29 56: 1*10+4*1+5*3+8*0+11*0 = 29 57: 1*10+4*2+5*0+8*0+11*1 = 29 58: 1*11+4*0+5*2+8*1+11*0 = 29 59: 1*11+4*2+5*2+8*0+11*0 = 29 60: 1*12+4*1+5*1+8*1+11*0 = 29 61: 1*12+4*3+5*1+8*0+11*0 = 29 62: 1*13+4*0+5*0+8*2+11*0 = 29 63: 1*13+4*0+5*1+8*0+11*1 = 29 64: 1*13+4*2+5*0+8*1+11*0 = 29 65: 1*13+4*4+5*0+8*0+11*0 = 29 66: 1*14+4*0+5*3+8*0+11*0 = 29 67: 1*14+4*1+5*0+8*0+11*1 = 29 68: 1*15+4*1+5*2+8*0+11*0 = 29 69: 1*16+4*0+5*1+8*1+11*0 = 29 70: 1*16+4*2+5*1+8*0+11*0 = 29 71: 1*17+4*1+5*0+8*1+11*0 = 29 72: 1*17+4*3+5*0+8*0+11*0 = 29 73: 1*18+4*0+5*0+8*0+11*1 = 29 74: 1*19+4*0+5*2+8*0+11*0 = 29 75: 1*20+4*1+5*1+8*0+11*0 = 29 76: 1*21+4*0+5*0+8*1+11*0 = 29 77: 1*21+4*2+5*0+8*0+11*0 = 29 78: 1*24+4*0+5*1+8*0+11*0 = 29 79: 1*25+4*1+5*0+8*0+11*0 = 29 80: 1*29+4*0+5*0+8*0+11*0 = 29 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(): 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. 13-May-2025 13:08:17