Obtendo todas as combinações que somam 100 usando R

Eu preciso obter todas as combinações para as quais a soma é igual a 100 usando 8 variáveis que podem levar qualquer valor de 0 a 100 pelo passo incremental de 10. (ou seja, 0, 10, 20 ... 100)

O script a seguir faz exatamente isso, mas é muito ineficiente, pois cria um grande conjunto de dados e eu queria saber se alguém teria uma maneira melhor de fazer isso.

x <- expand.grid("ON" = seq (0,100,10), 
        "3M" = seq(0,100,10), 
        "6M" = seq(0,100,10), 
        "1Y" = seq(0,100,10), 
        "2Y" = seq(0,100,10),
        "5Y" = seq(0,100,10), 
        "10Y" = seq(0,100,10), 
        "15Y" = seq(0,100,10))

x <- x[rowSums(x)==100,]

Editar -

para responder à pergunta de Stéphane Laurent

o resultado deve parecer

ON 3M 6M 1Y 2Y 5Y 10Y 15Y        
100 0  0  0  0  0   0   0  
 90 10  0  0  0  0   0   0  
 80 20  0  0  0  0   0   0  
 70 30  0  0  0  0   0   0  
 60 40  0  0  0  0   0   0  
 50 50  0  0  0  0   0   0

(...)

  0 0  0  0  0  0 10  90  
  0 0  0  0  0  0  0 100

questionAnswers(2)

yourAnswerToTheQuestion