House speaker secures enough Republican votes to pass budget