I wrote the C code for you:
// SPDX-License-Identifier: CC0-1.0
#include <stdlib.h>
#include <stdio.h>
static const unsigned char faces[6][6] = {
{ 1, 0, 0, 0, 0, 0 },
{ 2, 0, 0, 0, 0, 0 },
{ 3, 0, 0, 0, 0, 0 },
{ 4, 0, 0, 0, 0, 0 },
{ 5, 0, 0, 0, 0, 0 },
{ 6, 0, 0, 0, 0, 0 },
};
int main(void)
{
unsigned long sum[22] = { 0 };
unsigned long combos = 0;
for (int d1 = 0; d1 < 6; d1++) {
const int sum1 = faces[0][d1];
for (int d2 = 0; d2 < 6; d2++) {
const int sum2 = sum1 + faces[1][d2];
for (int d3 = 0; d3 < 6; d3++) {
const int sum3 = sum2 + faces[2][d3];
for (int d4 = 0; d4 < 6; d4++) {
const int sum4 = sum3 + faces[3][d4];
for (int d5 = 0; d5 < 6; d5++) {
const int sum5 = sum4 + faces[4][d5];
for (int d6 = 0; d6 < 6; d6++) {
const int sum6 = sum5 + faces[5][d6];
combos++;
sum[sum6]++;
}
}
}
}
}
}
for (int s = 0; s < 22; s++)
printf("Sum %2d: %5lu of %lu cases (%.3f%%)\n", s, sum[s], combos, 100.0*sum[s]/combos);
return 0;
}
and it tells us the probabilities of getting each sum:
Sum 0: 15625 of 46656 cases (33.490%)
Sum 1: 3125 of 46656 cases (6.698%)
Sum 2: 3125 of 46656 cases (6.698%)
Sum 3: 3750 of 46656 cases (8.038%)
Sum 4: 3750 of 46656 cases (8.038%)
Sum 5: 4375 of 46656 cases (9.377%)
Sum 6: 4500 of 46656 cases (9.645%)
Sum 7: 2000 of 46656 cases (4.287%)
Sum 8: 1500 of 46656 cases (3.215%)
Sum 9: 1625 of 46656 cases (3.483%)
Sum 10: 1025 of 46656 cases (2.197%)
Sum 11: 1025 of 46656 cases (2.197%)
Sum 12: 425 of 46656 cases (0.911%)
Sum 13: 300 of 46656 cases (0.643%)
Sum 14: 200 of 46656 cases (0.429%)
Sum 15: 180 of 46656 cases (0.386%)
Sum 16: 55 of 46656 cases (0.118%)
Sum 17: 30 of 46656 cases (0.064%)
Sum 18: 30 of 46656 cases (0.064%)
Sum 19: 5 of 46656 cases (0.011%)
Sum 20: 5 of 46656 cases (0.011%)
Sum 21: 1 of 46656 cases (0.002%)
To get e.g. sum two, we have the following cases:
Dice 2 has face 2, and all other dices have one of the empty faces; 5×1×5×5×5×5 = 3125 cases total.
To get e.g. sum five, we have the following possible cases:
Dice 5 has face 5, and the others have an empty face; 5×5×5×5×1×5 = 3125 cases.
Dice 1 has face 1, dice 4 has face 4, and the others have an empty face; 1×5×5×5×1×5 = 625 cases.
Dice 2 has face 2, dice 3 has face 3, and the others have an empty face; 5×1×1×5×5×5 = 625 cases.
Since 3125+625+625 = 4375, you can have sum five in 4375 out of 46656 cases.
To get sum twenty-one, there is only one case; each of the six dice needs to have their numbered face.
The brute-force calculated probabilities will help you derive the algebraic form for the probability of each sum. Because the probability depends both on the number of ways the sum can be achieved using digits 1-6, each at most once, and how many terms are in each such sum, I do not believe there is a reasonable algebraic form for the probabilities.