Может не верно, времени не было, не проверял.
Код:
var
A:array[1..maxk]of word;//вектор решений
procedure Search(M,k:word);
var
x:word;
begin
if k=1 then
begin
A[k]:=M;
OutRes;//вывод вектора в файл или куда нужно.
end
else
for x:=0 to M do Search(M-x,k-1);
end;
AleksK, какого аналитического разбора, интерпритатор символьных выражений? - этим немного занимался.
Может вам это нужно для симметрических полиномов?
Я занимался представлением симметрических полиномов через элементарные влоб, т.е. без СЛУ , а так как в доказательстве основной теоремы о симметрических полиномах (теорема о возможности представления ч.з. эл.сим.)