Faits :
A.
Par acte authentique du 19 mars 2008, instrumenté par la notaire C._, A._ a vendu aux époux A.B._ et B.B._ les parcelles contiguës xxx et yyy de la commune de Z._ (NE) ainsi que des parts de copropriété sur des voies d'accès. La parcelle xxx comprend une villa mitoyenne et une piscine; la parcelle yyy comporte un cabanon de jardin. Les conditions de vente prévoient notamment ce qui suit:
"1. (...)
Les restrictions de la propriété foncière de droit public (plans d'aménagement, plans d'alignement, restrictions de police des constructions, etc.) ainsi que certaines restrictions légales de la propriété (de droit civil) ne sont pas mentionnées au Registre foncier, ni la viabilité du terrain, et le vendeur n'assume aucune responsabilité de ce fait.
2. Garantie
Le bien-fonds xxx (...) ainsi que le bien-fonds yyy précités sont vendus tels qu'examinés par les acquéreurs, sans garantie légale ni conventionnelle, pour les défauts matériels ou juridiques, apparents ou cachés, dont ils pourraient être affectés, que ces défauts soient connaissables ou non.
Cette clause d'exclusion de garantie n'est pas applicable aux défauts frauduleusement cachés conformément à CO 199.
Les parties déclarent avoir été spécialement rendues attentives à la portée de cette clause d'exclusion qu'elles reconnaissent expressément."
Selon le plan d'aménagement du territoire, la totalité de la parcelle yyy et une partie de la parcelle xxx étaient à l'époque classées en zone d'utilité publique (ci-après: ZUP). Le registre foncier n'en faisait pas mention. A la suite du dépôt de l'acte authentique, le conservateur du registre foncier a toutefois informé la notaire de cette affectation et du fait que la commune disposait à ce titre d'un droit de préemption légal. Interpellée par la notaire, la commune a renoncé à faire valoir son droit.
Les époux B._ et trois propriétaires de parcelles voisines ont demandé au Conseil communal de reclasser leurs biens-fonds en zone dite des abords de bourg (ci-après: ZAB). Le Conseil général de Z._ a accepté de modifier le plan d'aménagement en ce sens que la parcelle xxx est entièrement classée en ZAB; en revanche, la parcelle yyy a été maintenue en ZUP. Au 24 mars 2011, le déplacement de la limite de zone n'était pas entré en vigueur.
B.
Le 12 février 2009, A.B._ et B.B._ ont ouvert action contre A._ et C._. Ils concluaient à ce que les défendeurs soient condamnés, solidairement entre eux, à leur payer le montant de 164'244 fr. plus intérêts, soit 140'700 fr. pour la moins-value de la parcelle yyy, 15'210 fr. pour la contribution due à l'État pour le reclassement de la parcelle xxx en ZAB et 8'334 fr. pour des frais d'architecte, d'avocat et de mise aux poursuites du vendeur. En particulier, les acheteurs reprochaient au vendeur de leur avoir frauduleusement dissimulé l'affectation en ZUP de la parcelle yyy et d'une partie de la parcelle xxx, ce qui rendait nulle l'exclusion de garantie contenue dans les conditions de vente.
Une expertise judiciaire a été mise en oeuvre. L'architecte désigné a estimé qu'au jour de la vente, la valeur vénale des immeubles était de 718'000 fr.; elle aurait été de 843'000 fr. si la totalité des parcelles avait été située en ZAB.
Par jugement du 7 mars 2013, le Tribunal régional du Littoral et du Val-de-Travers a rejeté l'action de A.B._ et B.B._.
Les acheteurs ont interjeté appel, concluant désormais à ce que le vendeur et la notaire soient solidairement condamnés à leur verser 126'583 fr. plus intérêts, à savoir 108'244 fr. à titre de moins-value liée à l'inconstructibilité de la majeure partie des parcelles achetées, 10'005 fr. en remboursement de la contribution due à l'État à la suite du changement d'affectation de la parcelle xxx et 8'334 fr. pour des frais d'expertise privée, d'avocat et de mise aux poursuites du vendeur. Statuant le 18 novembre 2013, la Cour d'appel civile du Tribunal cantonal du canton de Neuchâtel a rejeté l'appel et confirmé le jugement de première instance.
A.B._ et B.B._ ont recouru au Tribunal fédéral (cause 4A_619/2013). Par arrêt du 20 mai 2014, la cour de céans a déclaré irrecevable le recours constitutionnel subsidiaire, admis partiellement le recours en matière civile et annulé l'arrêt cantonal avant de rejeter la demande formée par les acheteurs contre la notaire et, pour le surplus, de renvoyer la cause à l'autorité précédente afin qu'elle rende une nouvelle décision.
Par arrêt du 21 novembre 2014 après renvoi, la Cour d'appel civile neuchâteloise a admis partiellement l'appel et réformé le jugement de première instance en condamnant A._ à verser aux époux B._ le montant de 64'240 fr. avec intérêts à 5% l'an dès le 1 er avril 2008.
C.
A.B._ et B.B._ interjettent un recours en matière civile. Ils demandent principalement au Tribunal fédéral de condamner A._ à leur payer la somme de 108'040 fr. avec intérêts à 5% l'an dès le 19 mars 2008. A titre subsidiaire, ils concluent au renvoi de la cause à l'autorité cantonale pour nouvelle décision au sens des considérants. Enfin, les recourants invitent le Tribunal fédéral à mettre les frais et dépens de la procédure fédérale à la charge de la cour cantonale, subsidiairement de l'intimé et, en tout état de cause, à se prononcer sur les frais et dépens relatifs aux première et deuxième instances cantonales.
Dans sa réponse, A._ propose le rejet du recours dans la mesure de sa recevabilité.
Pour sa part, la cour cantonale se réfère aux considérants de son arrêt.

Considérant en droit :
1.
Le recours est dirigé contre un arrêt final (<ref-law>) rendu en matière civile (<ref-law>) par un tribunal supérieur d'un canton, qui a statué une deuxième fois sur recours, après renvoi (<ref-law>). La présente cause atteint la valeur litigieuse de 30'000 fr. ouvrant le recours en matière civile dans les affaires pécuniaires ne relevant ni du droit du travail, ni du droit du bail à loyer (<ref-law>). Au surplus, le recours est exercé par les parties qui n'ont pas obtenu entièrement gain de cause et qui ont donc qualité pour recourir (<ref-law>). Déposé dans le délai (art. 46 al. 1 let. c et <ref-law>) et la forme (<ref-law>) prévus par la loi, le recours est en principe recevable, l'examen des griefs particuliers étant réservé.
2.
A la suite de l'arrêt de renvoi, la cour cantonale devait se prononcer à nouveau sur l'action des recourants fondée sur la garantie des défauts. Elle est arrivée à la conclusion que les acheteurs disposaient bien d'une prétention en réduction du prix. Pour fixer la moins-value, elle est partie des valeurs objectives sans défaut (843'000 fr.) et avec défaut (718'000 fr.) de l'immeuble vendu, telles que calculées par l'expert judiciaire. La valeur avec défaut tenait compte de l'affectation en ZUP de toute la parcelle yyy et d'une partie de la parcelle xxx. Les juges neuchâtelois ont jugé que, comme les recourants avaient obtenu de la commune de Z._ le dézonage en ZAB de toute la parcelle xxx, il convenait de rectifier les calculs de l'expert en conséquence. La valeur avec défaut devait ainsi être augmentée de 50'700 fr. (169 m2 [précédemment en ZUP] x 300 fr. [différence entre le prix par m2 en ZAB et celui en ZUP]) pour s'établir à 768'000 fr. La différence avec la valeur sans défaut se montait à 8,8% environ, ce qui, rapporté au prix convenu de 730'000 fr., représente une moins-value de 64'240 fr.
2.1. Les recourants critiquent sous plusieurs angles la prise en compte de l'affectation en ZAB de la partie du bien-fonds xxx classée en ZUP au moment de la conclusion de la vente immobilière.
Premièrement, ils reprochent à la cour cantonale d'avoir établi les faits de manière manifestement inexacte et de s'être livrée à une appréciation arbitraire des preuves. Ainsi, le dézonage en question ne serait pas effectif à l'heure actuelle, l'arrêté communal correspondant n'étant toujours pas entré en force. Au demeurant, l'autorité précédente aurait versé dans l'arbitraire en prenant en compte un élément postérieur à la date de la conclusion du contrat de vente immobilière.
Les recourants dénoncent ensuite la violation de plusieurs règles de la procédure civile fédérale. La cour cantonale aurait méconnu la maxime des débats et le principe de disposition en retenant un fait - le changement d'affectation d'une portion de la parcelle xxx - qui n'aurait jamais été invoqué par la partie adverse pour justifier une réduction de la moins-value. La cour cantonale se serait également écartée de manière inadmissible de l'expertise judiciaire.
Enfin, les juges neuchâtelois auraient méconnu les principes applicables en matière de réduction du prix découlant de l'action en garantie. Les recourants font valoir que l'évaluation de la moins-value selon la méthode relative suppose de se placer au moment de la conclusion du contrat.
2.2. Le Tribunal fédéral applique le droit d'office (<ref-law>). Cependant, compte tenu de l'exigence de motivation contenue à l'art. 42 al. 1 et 2 LTF, il n'examine que les questions juridiques qui sont soulevées devant lui (<ref-ruling> consid. 2 p. 88 s.; <ref-ruling> consid. 1.3 p. 584; <ref-ruling> consid. 2.2.1 p. 389; <ref-ruling> consid. 1.4 p. 400). Dès lors qu'une question est discutée, le Tribunal fédéral n'est limité ni par les arguments soulevés dans le recours, ni par la motivation retenue par l'autorité précédente; il peut admettre un recours pour un autre motif que ceux qui ont été invoqués et il peut rejeter un recours en adoptant une argumentation différente de celle de l'autorité précédente (<ref-ruling> consid. 2 p. 89; <ref-ruling> consid. 1.3 p. 336; <ref-ruling> consid. 4 p. 317 s.; <ref-ruling> consid. 1.4 p. 400).
La dissimulation frauduleuse au sens de l'<ref-law> suppose que le vendeur connaît le défaut. Selon l'arrêt de renvoi, il appartenait à la cour cantonale de compléter l'état de fait sur ce point, en précisant le cas échéant si la connaissance du vendeur s'étendait à la parcelle xxx (consid. 5.3.3). Les juges neuchâtelois ont constaté à ce propos qu'il n'est pas établi que l'intimé connaissait l'affectation en ZUP d'une partie de la parcelle xxx. Les recourants ne remettent pas en cause cette constatation. Il s'ensuit que l'affectation en ZUP d'une partie de la parcelle xxx ne constituait pas un défaut dissimulé frauduleusement; le défaut donnant lieu à moins-value résidait dès lors uniquement dans l'affectation en ZUP de la parcelle yyy. En rectifiant dans ce sens la valeur avec défaut calculée par l'expert, la cour cantonale n'a pas violé le droit fédéral, quels que soient les motifs qui l'ont amenée à cette correction.
Dans ces conditions, le recours ne peut être que rejeté.
3.
3.1. Dans un grief peu clair, les recourants paraissent contester, en tout état de cause, la répartition des frais et dépens adoptée dans l'arrêt attaqué. Le partage par moitié des frais judiciaires et la compensation des dépens violeraient de manière crasse le sentiment de justice et d'équité, car les recourants obtiendraient "pour ainsi dire totalement gain de cause sur le fond" et auraient dû dépenser des dizaines de milliers de francs en frais judiciaires et honoraires parce qu'il n'a pas été "admis dès le départ qu'il y avait dissimulation frauduleuse d'un défaut".
3.2. Dans l'arrêt attaqué, la cour cantonale a arrêté la part des frais de justice de première instance à 6'500 fr. et celle des frais de justice de deuxième instance à 2'500 fr.; elle les a mis par moitié à la charge de chacune des parties. Par ailleurs, elle a compensé les dépens.
Lors de l'ouverture de l'action, avant l'entrée en vigueur du CPC, les acheteurs réclamaient un montant de 164'244 fr.40 avant de réduire leurs conclusions en paiement à 126'583 fr.20 en appel. Ils ont obtenu finalement 64'240 fr., soit un peu plus de la moitié de leurs dernières conclusions et environ le 40% des conclusions de la demande. La cour cantonale a appliqué la règle voulant que les frais - frais judiciaires et dépens - soient répartis selon le sort de la cause lorsqu'aucune des parties n'obtient entièrement gain de cause. Cette règle, consacrée à l'<ref-law>, correspond à un principe classique, suivi dans les droits cantonaux de procédure civile avant l'entrée en vigueur du CPC (Message du 28 juin 2006 relatif au CPC, FF 2006 6908, ad art. 104; Denis Tappy, in CPC Code de procédure civile commenté, 2011, n. 3 ad art. 106 p. 410). Son application en l'espèce ne conduit en rien à un résultat inéquitable. Pour autant que recevable, le grief des recourants se révèle dénué de toute substance.
4.
Les recourants, qui succombent, prendront à leur charge les frais judiciaires (art. 66 al. 1 et 5 LTF) et verseront des dépens à l'intimé (art. 68 al. 1, 2 et 4 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis solidairement à la charge des recourants.
3.
Les recourants, débiteurs solidaires, verseront à l'intimé une indemnité de 2'500 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Cour d'appel civile du Tribunal cantonal du canton de Neuchâtel.
Lausanne, le 25 juin 2015
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann