Correction I needed to use the absolute value of delta on the put side:
BSStrikeFromDelta <- function(S0, T, r, sigma, delta, right)
{
strike <- ifelse(right=="C",
S0 * exp(-qnorm(delta * exp(r*T) ) * sigma * sqrt(T) + ((sigma^2)/2) * T),
S0 * exp(qnorm(abs(delta)* exp(r*T) ) *...