Не очень понятна формулировка
Решить эту же задачу для различного количества заготовок 3 вида, которые необходимо вырезать.
То есть число произвольно? В общем виде задача плохо решается.
Вообще-то это задача целочисленного линейного программирования. Но, наверное, ваша конкретная задача проще. Поищите по этим словам, здесь такие задачи уже обсуждались. Может, там среди собеседников найдете специалистов.