New Zealand all-rounder Corey Anderson cracked the fastest century in one-day international history, reaching three figures in just 36 deliveries against the West Indies on Wednesday.

The previous record was held by Shahid Afridi, who took 37 balls to reach his ton playing for Pakistan against Sri Lanka in 1996.

Anderson, who finished the New Zealand innings unbeaten on 131, hit 14 sixes in his whirlwind assault, the third highest number of sixes in an ODI innings.

India's Rohit Sharma hit 16 sixes against Australia two months ago and Australia's Shane Watson hit 15 against Bangladesh in 2011.

Anderson put on 191 for the fourth wicket with Jesse Ryder who slammed a 46-ball century, which is the sixth-fastest ODI century. Ryder is in his comeback to international cricket after a two-year absence.

New Zealand reached a daunting 283/4 off just 21 overs in the rain-shortened third one-day international.

Anderson said that throughout his innings he had no inkling he was on target to break Afridi's record.

"I didn't have a clue actually. It's not that I'd look it up and try and take it down. But it's nice to have it."

Anderson went to the wicket with New Zealand at 84/3 and with Ryder already on 41 he thought he would be playing a support role.

"I thought I would look at singles and try and get myself in but a couple came out of the middle and you keep going.

"Me and Jesse started thinking every ball was either going to get us out or go for six and it's nice to have that feeling when you're out there."

As for their mid-wicket conversations during their quick-fire partnership of 191, Anderson said the talk was brief.

"It was 'shot-bro' and that's about it. We couldn't say too much."

Ten fastest ODI centuries

Player Opponent Runs Balls Sixes Fours Venue Date
Corey Anderson West Indies 100 36 12 4 Queenstown January 1, 2014
Shahid Afridi Sri Lanka 102 37 11 6 Nairobi October 4, 1996
Mark Boucher Zimbabwe 147* 44 10 8 Potchefstroom September 20, 2006
Brian Lara Bangladesh 117 45 4 18 Dhaka October 9, 1999
Shahid Afridi India 102 45 9 10 Kanpur April 15, 2005
Jesse Ryder West Indies 104 46 5 12 Queenstown January 1, 2014
Sanath Jayasuriya Pakistan 134 48 11 11 Singapore April 2, 1996
Kevin O'Brien England 113 50 6 13 Bangalore March 2, 2011
Virat Kohli Australia 100* 52 7 8 Jaipur October 16, 2013
Shahid Afridi Bangladesh 124 53 4 17 Dambulla June 21, 2010