If you merely want the IV of a specific option, I use the following in Perl, which seems to be adequate for my needs:
# Solve for IV using B&S
sub ResolveIV
{
my ($call_flag, $S, $X, $A, $T, $r, $iv, $q) = @_;
# S: Stock Price
# X: Strike price
# A: Actual Option Price
# T: Time to...