The analytical solution for the probability of win for each hand is as following:
1st hand = .342538484
2nd hand = .318676316
3rd hand = .338785200
A recursive program, which would traverse the entire game for 3 hands, would be simple enough to code. However, I did not chance it fearing unmanageable number of iterations. After all, given the infinite deck, a single hand in this game can be as large as 18 cards.
Instead of writing a program, I built a spreadsheet table with probabilities of win/bust/continue for a single player for each round. From that probabilities of winning a “sudden death game” for each seat among 3 players may be derived. It’s a tedious solution, but I had some similar tables from my own projects with BJ probabilities, so it did not take too much of my time.
I could not see any simple and elegant solution, which would avoid calculating actual probabilities.
Some more trivia from the table if you play this game without partners, by your lonesome:
Probability to bust = .621058
Probability to get 21 = .159379
Probability to get 20 = .219563
Probability to finish the game with a hand of 6 cards or less = .996315