Если вы исходили из обозначений которые я дал:
Представим разбиение 
числа на слагаемыешаров на урны (

 шаров по 

 урнам) в новых обозначениях так

 и 

То есть 

 - это сколько шаров в урне, а 

 - это сколько таких урн, при том что 

 не повторяются (все 

 различны)
То формула неверная, у вас в числителе просто количество шаров:   

 Вернусь к решению задачи после сокращения получается формула :

 вот в этом у меня и состоит проблема в математике , я почему то для себя определяю ход решения (да еще и к тому же неправильный ) и иду к нему не замечая очевидного b не пытаюсь альтернативу найти , не чувствую что иду по ошибочному пути, 
По этой конкретной задаче у вас есть ответы по нескольким раскладам. Соответственно, вы можете подставить значения переменных в полученную вами формулу и проверить, даёт ли она уже известный вам результат. Надо 
проверять себя. Тем более, что вы хотите это программировать. Так программируйте! Напишите функцию которая вычисляет по вашей формуле и передайте ей известные значения, посмотрите на результат. Ну или на бумажке...
Именно для этого вас мучили записью всех вариантов на бумажке: чтобы у вас на руках были несомненно стопроцентно железобетонно правильные результаты, которые должны получаться при конструировании формулы.
-- 15.04.2019, 12:41 --Поможет ? Может кто то посоветует по этой теме стоящие книги. Есть ли смысл учиться готовым шаблонам решения по книжкам или нужно все таки только практика . 
В данном конкретном случае нужны не книжки, а внимательность и аккуратность :) И практика, конечно. Сейчас вы просто не видите того, о чем я вам ранее писал:
тут нужна некоторая сноровка, которая будет помогать вам переводить задачи с языка урн и шаров на язык размещений, разбиений, разложений и т.п. 
А чтобы это увидеть, нужна практика.