Multiple objects, Number of combinations A bag contains colored balls:


*

*8 red balls

*4 white balls

*4 blue balls

*4 green balls

*2 purple balls

*2 orange balls

*1 yellow ball

*1 black ball


Total of 26 balls.
I'd like to determine the number of combinations of balls when 8 are chosen.
Doing a combination like 26C8 obviously disregards the order of the chosen balls, but I'd like to also disregard sets that identical colors (example, there are 8 ways (9c8) to have 7 red balls and one 1 black ball, because there are 8 different red balls, but I really want to count this as one combination).
I figure it probably ends up being 26C8 divided by....something? Any ideas?
 A: I am not sure there's a simple way of dividing it out. Here's a simplified example to show why:
Suppose you have 1 red, 2 green, and 4 blue balls (total = 7). You want to pick 3 of them.
If all of the balls were distinguishable, there would be 7C3 = 35 choices.
As for the case where same-colored balls are indistinguishable, the problem is simple enough that we can exhaustively list all of the solutions:
$$RGG, RBG, RBB, GGB, GBB, BBB.$$
There are six possibilities, and six is not a factor of 35. So in general for picking some number of balls from a collection, there is probably not a simple way to start from the case where all balls are distinguishable and divide by something to get the case where some balls are indistinguishable.
Edit: I believe the answer to your original question is that there are 1941 ways of picking 8 things from that group. I wrote a short Python script to crunch the numbers: 
balls = [8,4,4,4,2,2,1,1] # original example
# balls = [1,2,4] # simplified example

def combos(pick, bag) :
    # pick: how many total items to pick
    # bag: a list of how many of each color you have.

    if pick == 0 :
        return 1
    if bag == [] :
        return 0

    # consider the next color in the bag
    this_color_count = bag[0]
    rest = bag[1:]

    # decide how many of this color to use. (k)
    return sum([combos(pick-k, rest) 
                for k in range(0, min(pick, this_color_count)+1)])

print combos(8, balls)

A: Let's generalize the problem a little and ask for the number of combinations when $r$ balls are chosen; let this number be $a_r$.  Define the generating function $$f(x) = \sum_{r=0}^{\infty} a_r x^r$$
It's "obvious" (with some study) that
$$f(x) = (1+x)^2 (1+x+x^2)^2 (1+x+x^2+x^4)^3 (1+x+x^2+x^3+x^4+x^5+x^6+x^7+x^8)$$
Expanding $f(x)$ in a computer algebra system shows that the coefficient of $x^8$, i.e. $a_8$, is $1941$; this is the answer to the original problem.
One on-line reference for generating functions is Bogart's "Enumerative Combinatorics Through Guided Discovery", Chapter 4. http://www.math.dartmouth.edu/archive/kpbogart/public_html/ComboNotes3-20-05.pdf
