You don't need Erlang-B or C to determine the least number of servers/threads. Revisiting the Wide Awake Developer's 2 cases:
Case 1 (using my previous notation)
λ = 0.27777 requests / ms
S = 250 ms / request
Take the product λS (LL2 from my previous reply):
> 0.27777 * 250
[1] 69.4425
Thus (rounding up), you need at least 70 servers. But that corresponds to each server/thread being close to 100% busy, in which case, the queue will grow unbounded. You would need more than 70 to avoid that situation.
Case 2 (using my previous notation)
λ = 0.27777 requests / ms
S = 250 + 100 ms / request
Taking the product λS (LL2):
> 0.27777 * (250 + 100)
[1] 97.2195
By the same argument, you need at least 98 servers.
To determine how many more servers you need, depends on what other performance criteria are important. Often, this will be either the residence time ( R) in the pool or the queue occupancy of waiting threads (Q). In that case, you don't need to calculate the Erlang probability function, either.
To determine R use my Guerrilla formula: R = S / [1 - (λS)^m], where m is the number of servers/threads.
To determine Q use: Q = λR, which is just LL1.