Насколько я понял, можно вырезать разное количество деталей обоих размеров, главное, чтобы остаток был минимальный.
Например: 100 - 6*(3*4) - 1*(9*2) = 10.
Может оказаться, что количество деталей двух размеров должно быть одинаковым. В условии об этом не сказано, но может подразумеваться.
К сожалению, при таких условиях в приведённом примере опять можно получить остаток 10:
100-3*(3*4)-3*(9*2) = 10, (3*4 сложены в прямоугольник 9*4, а 9*2 - в 9*6).
Если требовать одинаковое количество, то решение сложнее и медленнее.