Faits: Faits: A. En septembre 1995, Y._ et Z._ ont confié les travaux de maçonnerie d'une villa à l'entreprise X._ SA pour le prix net de 398'241 fr.15. Selon le décompte final du 18 décembre 1996, le montant dû à l'entrepreneur, y compris la TVA, s'élevait à 494'306 fr.95; après déduction des avances et de divers rabais, les maîtres restaient devoir à l'entrepreneur un solde de 60'129 fr.75. A. En septembre 1995, Y._ et Z._ ont confié les travaux de maçonnerie d'une villa à l'entreprise X._ SA pour le prix net de 398'241 fr.15. Selon le décompte final du 18 décembre 1996, le montant dû à l'entrepreneur, y compris la TVA, s'élevait à 494'306 fr.95; après déduction des avances et de divers rabais, les maîtres restaient devoir à l'entrepreneur un solde de 60'129 fr.75. B. Le 2 décembre 1997, X._ SA (ci-après: la demanderesse) a ouvert action devant le Tribunal cantonal neuchâtelois, concluant à ce que Y._ et Z._ (ci-après: les défendeurs) soient condamnés solidairement à lui payer la somme de 60'129 fr.75 avec intérêts à 5% dès le 5 février 1997. Dans leur réponse, les défendeurs ont conclu au rejet de l'action. Une première expertise judiciaire a été confiée à A._, architecte. Selon le rapport de l'expert de juillet 1999, la facture de l'entrepreneur aurait dû s'élever à 478'837 fr.10. Par la suite, les défendeurs se sont réformés de la réponse; ils ont conclu derechef au rejet de l'action et, à titre reconventionnel, à la condamnation de la demanderesse à leur payer la somme de 18'470 fr.40 avec intérêts à 5% dès le 18 décembre 1996. Les maîtres invoquaient des défauts de l'ouvrage. Dans sa réplique, la demanderesse a réduit sa prétention en capital à 53'182 fr.35; par ailleurs, elle a conclu au rejet de la demande reconventionnelle. Un second expert a été désigné afin de se prononcer sur les défauts allégués par les défendeurs. B._, architecte, a déposé deux rapports, en mai 2003 et juillet 2004. Par jugement du 28 juin 2007, la Ie Cour civile du Tribunal cantonal a condamné les défendeurs à payer à la demanderesse la somme de 14'737 fr.95 avec intérêts à 5% sur 15'237 fr.95 du 10 février 1997 au 13 novembre 1997 et sur 14'734 fr.95 dès le 14 novembre 1997. Par jugement du 28 juin 2007, la Ie Cour civile du Tribunal cantonal a condamné les défendeurs à payer à la demanderesse la somme de 14'737 fr.95 avec intérêts à 5% sur 15'237 fr.95 du 10 février 1997 au 13 novembre 1997 et sur 14'734 fr.95 dès le 14 novembre 1997. C. X._ SA a déposé un recours en matière civile contre le jugement cantonal (cause 4A_326/2007). Elle conclut à ce que les défendeurs soient condamnés à lui payer 38'377 fr.98 avec intérêts à 5% dès le 10 février 1997, subsidiairement dès le 4 septembre 2007. Les défendeurs proposent le rejet du recours en tant qu'il est recevable. Pour leur part, Y._ et Z._ ont formé un recours constitutionnel subsidiaire (cause 4D_40/2007). Ils demandent au Tribunal fédéral, principalement, de fixer le montant qu'ils doivent à la demanderesse à 4'537 fr.95 au lieu de 14'737 fr.95, intérêts en sus et, subsidiairement, de renvoyer la cause à l'autorité cantonale pour nouvelle décision au sens des considérants. La demanderesse propose le rejet du recours dans la mesure de sa recevabilité. Dans sa prise de position sur les recours, la cour cantonale a corrigé le décompte final figurant au considérant 7 de son jugement; le solde dû s'élèverait à 6'201 fr.15 au lieu de 14'737 fr.95.