Calculating chance of results when dropping lowest result of rolling 4 dice Say I want to roll 4 6 sided dice, then take the 4 results, drop the lowest result (or just 1 of the lowest values, if it is rolled more than once), and add the remaining 3 dice together to get the number.
(for those interested, this is the same as the rolling for abilities in D&D)
I've managed to make a python script that runs every possible combination to get percents for each result(for example, I know that the chance of rolling an 18 is aprox. 1.62%), but I am curious if there is a way to mathematically calculate it, without simulating each outcome, or counting them out.
I am specifically interested in the chances of rolling a 3 and an 18, but if there is a way to calculate each of the numbers, that would be even better.
Again, I'm not interested in the result, as I already have it. I am interested in the process in calculating it, if possible.

You get $3$ only if your roll $[1,1,1,1]$.
Therefore, the probability of $3$ is $1/6^4$.

You get $18$ only if your roll any of the following:


*

*$[6,6,6,6]$, for which there is $1$ option

*$[6,6,6,X]$, for which there are $5$ options

*$[6,6,X,6]$, for which there are $5$ options

*$[6,X,6,6]$, for which there are $5$ options

*$[X,6,6,6]$, for which there are $5$ options


Therefore, the probability of $18$ is $(1+5+5+5+5)/6^4$.
